我仍然在我的rails 4演示网站上工作,我看到一件奇怪的事情.在控制器中,它有一条这样的行:
format.html { redirect_to @widget,notice: 'Widget was successfully created.' }
这会在重定向的页面中显示一条Flash消息,这是预期的.但是,附加到消息div的css类是alert alert,而不是一个有效的Bootstrap警报类,如alert-info.
该闪存设置的类在哪里,如何自定义?
另外,如果我通过ajax删除记录,有没有办法访问核心闪存容器通过js显示消息,或者我必须显示/隐藏我自己的Flash消息div只是为了ajax请求?
编辑:我的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块中.看来应该有办法通过这个通知课吗?还是这不是Rails的核心方式呢?
解决方法
在application.html.erb中,您将显示Flash消息.
更新该代码如下
<% flash.each do |name,msg| %> <%= content_tag :div,msg,class: "alert alert-info" %> <% end %>
您可以在类选项中添加要应用于Flash消息的类.
编辑
由于alert alert-<%= key%>将该类设置为alert alert-notice在你的代码
当您调用redirect_to @widget时,请注意:“小部件已成功创建.
Flash消息将作为Widget成功创建的通知和值添加到闪存哈希中,即,
flash[:notice] = "Widget was successfully created."
编辑#2
format.html {redirect_to @widget,notice:“Widget已成功创建”. }
通知:“小部件成功创建”.是传递给redirect_to方法的参数.它被添加到这个方法的flash哈希.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。