Flash消息没有引导类

use*_*805 3 html css ruby-on-rails twitter-bootstrap ruby-on-rails-4

我有一个视图,我想在某些事件中显示flash消息.我可以看到flash消息,但不能用引导程序的颜色.例如绿色表示成功,蓝色表示通知等但我看到的一切都是白色的.

这是我的代码:

<% flash.each do |name, msg| %>
   <%= content_tag :div, msg, class: name %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

PS:它不是完整的代码,只是提供想法的代码片段,其他引导类正在工作但在这里除了丑陋的白色背景中的消息我什么也得不到.有什么建议?

pot*_*hin 7

您可以使用帮助程序方法根据flash通知消息的类型分配正确的引导类:

def alert_for(flash_type)
    {
        success: 'alert-success',
        error: 'alert-danger',
        alert: 'alert-warning',
        notice: 'alert-info'
    }[flash_type.to_sym] || flash_type.to_s
end
Run Code Online (Sandbox Code Playgroud)

然后将其用作:

<% flash.each do |name, msg| %>
   <%= content_tag :div, msg, class: [:alert, alert_for(name)]%>
<% end %>
Run Code Online (Sandbox Code Playgroud)