无论是flash[:notice]
还是flash[:warning]
,我所有的闪存消息都显示为绿色。我知道为什么
<% flash.each do |flash, message| %>
<div class = "alert alert-success" <%= flash %>>
<%= message %>
</div>
<% end %>
如何重构此代码,以便alert-flash-level
类
我认为您可以使用字符串插值,但我不确定。
试试这个:
<% flash.each do |flash_level, message| %>
<div class = "alert alert-<%= flash_level %>">
<%= message %>
</div>
<% end %>
试试这个
<% flash.each do |flash_level, message| %>
<div class = "alert alert-<%= message.include?('wrong') ? "danger" : "success" %>">
<%= message %>
</div>
<% end %>
上面的代码风格是Embedded Ruby
的。不能在 ERB 中使用字符串插值。相反,您必须使用 <%=
和 '%] 声明 ruby 代码>