【发布时间】:2014-04-29 06:02:55
【问题描述】:
我仍在开发我的 rails 4 演示站点,但我看到了一件奇怪的事情。在控制器中有这样一行:
format.html { redirect_to @widget, notice: 'Widget was successfully created.' }
这会在重定向页面中呈现一条 Flash 消息,这是预期的。但是,附加到消息 div 的 css 类是 alert alert-notice,而不是有效的 Bootstrap 警报类,例如 alert-info。
在哪里为这个 flash 设置的类,以及如何自定义它?
另外,如果我通过 ajax 删除记录,有没有办法访问核心 flash 容器以通过 js 显示消息,或者我是否必须仅为 ajax 请求显示/隐藏我自己的 flash 消息 div?
编辑:我的 Michael Hartl 启发了layouts/application.html.erb:
<div class="container">
<% flash.each do |key, value| %>
<div class="alert alert-<%= key %>"><%= value %></div>
<% end %>
<%= yield %>
</div>
谢谢!
编辑2:
也许我最初的问题不够清楚。在这种情况下,我完全了解如何在 flash 对象中设置类。我有兴趣学习如何在format.html 块中使用和自定义notice:。似乎应该有一种方法可以通过此通知通过课程?或者这不是 Rails 的核心做事方式?
【问题讨论】:
-
这取决于你的看法。查看您的
views/layouts/application.html.*文件,看看它在哪里呈现flash内容。 -
但 alert alert-notice 是有效的引导类。您可以在重定向操作之前始终闪烁 [:yourchoiceofalert]
-
您可能需要从您的资产中删除 scaffold.css,因为它会扰乱一些引导类
-
@StavrosSouvatzis-- getbootstrap.com/components/#alerts -- 我不认为 alert-notice 是一个有效的类。我错过了什么吗?此外,我的资产中没有scaffold.css。谢谢!
-
是的,对不起,notice 不是一个案例,我的意思是你需要有像“alert alert-'class'”这样的单词alert。很抱歉误导,我应该这样做。
标签: ruby-on-rails ruby twitter-bootstrap ruby-on-rails-4