所有 Rails Flash 消息都以绿色显示



无论是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 代码>

最新更新