33

我有一个视图,我从中向控制器发出 ajax 请求,并在操作成功完成后初始化flash.now[:notice]。但是在控件返回视图之后。我碰巧没有看到闪存消息。

flash.now[:notice] = "Request Completed successfully" if @meetings.any?
4

5 回答 5

96

重定向使用时

flash[:notice] = "This message value is available in next request-response cycle"

渲染时使用

flash.now[:notice] = "Message is available in same request-response cycle"

来自这里的信息

于 2011-08-20T17:30:06.030 回答
4

在你调用渲染之前你会闪现吗?否则您的消息将不会出现。

于 2012-01-07T11:35:56.457 回答
3

控制器中的代码:

flash[:success] = "All good!"
format.html { redirect_to some_path}

并在带有关闭按钮的视图中:

<% flash.each do |key, value| %>
 <%= content_tag(:div, class: "alert alert-#{key} alert-dismissable") do %>
  <%= value %>
  <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>   
 <% end %> 
<% end %>
于 2014-05-27T09:23:10.223 回答
2

检查你有类似的东西

<% flash.each do |key, value| %>
    <div class="flash <%= key %>"><%= value %></div>
<% end %>

在您的 application.html.erb 文件中:如果不添加,则必须添加它,因为这是显示通知的位置。

于 2011-08-20T17:30:52.877 回答
2

如果你使用form_with你需要使用local: true

<%= form_with @user, local: true do |f| %>
  <%= f.label :name %>
  <%= f.text_field :name %>
  <%= f.submit %>
<% end %>
于 2020-10-21T07:14:04.733 回答