2014-12-03 54 views
1

無論是flash[:notice]還是flash[:warning],我的所有閃存消息都顯示爲綠色。我知道爲什麼所有Rails閃存消息均以綠色顯示

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

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

<% end %> 

我如何重構這個代碼,因此類是alert-flash-level

我認爲你可以使用字符串插值,但我不知道。

+2

''.alert-success'在rails'css'中設置爲綠色來聲明紅寶石代碼。您可以在瀏覽器的調試器中進行調查 – 2014-12-03 15:46:37

回答

0

試試這個:

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

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

<% end %> 
+0

對不起,但這是不正確的。在ERB文件中,您需要將紅寶石放入大括號中,不能使用字符串插值 – Darkmouse 2014-12-03 16:28:23

+0

@DarkMouse - 您是對的,我更正了答案。謝謝 – 2014-12-03 16:30:11

+0

沒問題,很高興我能指出。 – Darkmouse 2014-12-03 16:34:54

0

試試這個

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

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

<% end %> 

上面的代碼風格是Embedded Ruby。 ERB中不能使用字符串插值。相反,你必須使用<%=和`%>