Rails 4: Bootstrap 类 不显示错误消息

Rails 4: Error messages not displaying with Bootstrap classes

在我的 application.html.erb 文件中,我有:

<div class="container">
  <% flash.each do | type, message | %>
  <div class="alert <%= flash_class(type) %>">
    <button type="button" class="close" data-dismiss="alert" aria-label="Close">
      <span aria-hidden="true">&times;</span></button>
      <%= message %>
  </div>
  <% end %>

  <%= yield %>
</div>

我有 flash_class 作为辅助方法:

module ApplicationHelper
  def flash_class(type)
    case type
    when :alert
     "alert-error"
    when :notice
     "alert-success"
    else
     ""
    end
  end
end

尽管 class 没有附加到 HTML 中。当我创建错误时,'alert-error' class 未添加到:

知道为什么会这样吗?

您可能在 flash_class 方法中发送类型 String 而不是 Symbol

一个简单的解决方法是在 flash_class 辅助方法中调用 type.to_sym