2014-12-03 3 views
1

flash[:notice] 또는 flash[:warning]에 관계없이 모든 플래시 메시지는 녹색으로 표시됩니다. 그리고 나는 알고있다 왜 클래스는 당신이 문자열 보간을 사용할 수 있다고 생각 alert-flash-level모든 Rails 플래시 메시지가 녹색으로 표시됩니다.

하지만 난 모르겠어요 그래서 나는이 코드를 리팩토링 수있는 방법

<% flash.each do |flash, message| %> 

    <div class = "alert alert-success" <%= flash %>> 
    <%= message %> 
    </div> 

<% end %> 

.

+2

'.alert-success'를 레일'css'에서 녹색으로 설정해야합니다. 브라우저의 디버거 –

답변

0

이 시도 :

<% flash.each do |flash_level, message| %> 

    <div class = "alert alert-<%= flash_level %>"> 
    <%= message %> 
    </div> 

<% end %> 
+0

에서 조사 할 수 있지만 죄송 합니다만 올바르지 않습니다. ERB 파일에서, 루비를 중괄호 안에 넣어야하는데, 문자열 보간법을 사용할 수 없습니다. – Darkmouse

+0

@DarkMouse - 맞아요, 답을 수정했습니다. 감사합니다 –

+0

문제 없습니다, 다행이라고 지적 할 수 있습니다. – Darkmouse

0

코드의 위의 스타일 Embedded Ruby 인이

<% flash.each do |flash_level, message| %> 

    <div class = "alert alert-<%= message.include?('wrong') ? "danger" : "success" %>"> 
    <%= message %> 
    </div> 

<% end %> 

보십시오. ERB에서는 문자열 보간을 사용할 수 없습니다. 대신에, 여러분은 루비 코드를 <%=으로 선언하고 '%>

관련 문제