如何使用引导程序显示我的 Flash 消息?

Posted

技术标签:

【中文标题】如何使用引导程序显示我的 Flash 消息?【英文标题】:How do I get my Flash Message to show using bootstrap? 【发布时间】:2014-09-17 01:48:21 【问题描述】:

我已经导入了 bootstrap,并且正在使用“bootstrap-sass” gem 和 devise gem。问题是我的 rails 应用程序显示正确的消息,例如如果我已登录并且我尝试注册它会显示消息“您已经登录”。但没有消息周围的颜色,如黄色或红色或任何颜色。

 <div class="container">
    <% flash.each do |name, msg| %>
    <%= content_tag(:div, msg, class: "alert alert-#name") %>
    <% end %>
</div>

当我在渲染后检查 chrome 中的元素时,我得到 'class="alert alert-alert"' 在"alert alert-#name" 上面的代码中,名称是应该更改为信息、成功、警告或危险的关键。但它不断变化以提醒哪个引导程序没有。我该如何解决这个问题?

【问题讨论】:

如何在控制器中设置 flash 消息? 看到这个答案:***.com/a/18913115/617320 【参考方案1】:

您可以通过将控制器中的 Flash 消息设置为 flash[:success]flash[:info]flash[:warning]flash[:danger](而不是 flash[:alert])来解决此问题。

对于 Devise,您需要将 Devise 控制器复制到您的 Rails 应用程序中以覆盖这些值。或者,如果设置了 flash[:notice]flash[:alert],您可以手动显示引导警报:

<% if flash[:notice] %>
  <div class="alert alert-info">
    <%= flash[:notice] %>
  </div>
<% end %>

<% if flash[:alert] %>
  <div class="alert alert-danger">
    <%= flash[:alert] %>
  </div>
<% end %>

【讨论】:

以上是关于如何使用引导程序显示我的 Flash 消息?的主要内容,如果未能解决你的问题,请参考以下文章

在模式弹出 cakephp 上显示 flash 消息

如何在Express 4.0中发送Flash消息?

如何使引导树视图从父级折叠到子级?

如何在 Express 4.0 中发送 Flash 消息?

如何使用 javascript 使 flash 元素移动友好?

如何使用车把获取 Flash 消息?