Rails Flash.now不工作

时间:2011-08-20 17:27:03

标签: ruby-on-rails ruby-on-rails-2

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

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

5 个答案:

答案 0 :(得分:80)

重定向时使用

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

渲染时使用

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

来自here

的信息

答案 1 :(得分:4)

你是否闪现。现在你打电话给渲染?否则您的消息将不会出现。

答案 2 :(得分: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 %>

答案 3 :(得分:2)

检查你有类似

的东西
<% flash.each do |key, value| %>
    <div class="flash <%= key %>"><%= value %></div>
<% end %>
在您的application.html.erb文件中

:如果不这样做,则必须添加它,因为这是通知的显示位置。

答案 4 :(得分:0)

如果您使用form_with,则需要使用local: true

<%= form_with @user, local: true do |f| %>
  <%= f.label :name %>
  <%= f.text_field :name %>
  <%= f.submit %>
<% end %>