红宝石导轨 – 导轨4 – 闪光通知

前端之家收集整理的这篇文章主要介绍了红宝石导轨 – 导轨4 – 闪光通知前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我仍然在我的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哈希.

猜你在找的Ruby相关文章