我想以不同的样式显示flash消息
即:成功消息“alert alret-suceess”
我在布局中使用此代码来动态处理它们
<% flash.each do |type, msg| %>
<%= content_tag :div, msg,class: "alert alert-#{type}" %>
<% end %>
但它适用于提供绿色背景的成功消息,但对于“通知”和“警报”类型,它提供白色背景。 我想用if else条件来处理它们,或者有更好的方法。
答案 0 :(得分:2)
这与我的回答类似:https://stackoverflow.com/a/31095573/3259320
<强>助手/ alert_helper.rb 强>
module AlertHelper
def build_alert_classes(alert_type)
classes = 'alert alert-dismissable '
case alert_type.to_sym
when :alert, :danger, :error, :validation_errors
classes += 'alert-danger'
when :warning, :todo
classes += 'alert-warning'
when :notice, :success
classes += 'alert-success'
else
classes += 'alert-info'
end
end
end
然后在你看来,它会变成这样:
查看强>
<% flash.each do |type, msg| %>
<%= content_tag :div, msg, class: build_alert_classes(type) %>
<% end %>