如何通过 application.html.erb 将引导闪存消息添加到整个应用程序?

Posted

技术标签:

【中文标题】如何通过 application.html.erb 将引导闪存消息添加到整个应用程序?【英文标题】:How to add bootstrap flash messages to entire app via application.html.erb? 【发布时间】:2020-12-30 03:25:45 【问题描述】:

我通过scaffold 生成了一些资源,在索引顶部看到<p id="notice"><%= notice %></p> 并显示视图。

我已经在整个应用程序中搜索了所有出现的这种情况并删除了它们(因此没有闪消息)。

然后,我将此添加到application.html.erb

<% if notice %>
  <p class="alert alert-success"><%= notice %></p>
<% end %>
<% if alert %>
  <p class="alert alert-danger"><%= alert %></p>
<% end %>

这会有效地生成所有可能的 Flash 消息吗?

我问的原因是因为我相信bootstrap has >2 types of messages(例如“成功”、“危险”、“信息”、“主要”、“次要”、“警告”、“光明”、“黑暗”),然而上面的代码似乎只迎合2。

供参考,添加的代码来自here

【问题讨论】:

【参考方案1】:

Devise 只使用 noticealert。如果您想要更多,只需按照here 的说明添加即可。如果您添加警告,就像在文档中一样,您可以添加:

<% if warning %>
  <p class="alert alert-warning"><%= warning %></p>
<% end %>

等等。

【讨论】:

以上是关于如何通过 application.html.erb 将引导闪存消息添加到整个应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何不对应用程序中的特定页面使用 application.html.erb 文件?

Rails 不使用 application.html.erb

来自 application.html.erb 的 Rails 渲染实例变量

使用 iOS UIWebView 时的 Rails 布局(application.html.erb)逻辑

未为特定控制器加载 application.html.erb 的 css

Rails 3 - application.html.erb 中 nil:NilClass 的未定义方法“[]”