Rails Flash.now not working

只愿长相守 提交于 2019-11-28 19:04:17

问题


I have a view from which I make an ajax request to the controller and after the action is successfully completed I initialize the flash.now[:notice]. But after the control goes back to the view. I don't happen to see the flash message.

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

回答1:


When redirecting use

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

When rendering use

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

Info from here




回答2:


Do you flash.now BEFORE you call render? Otherwise your message won´t appear.




回答3:


code in the controller:

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

and in the view with close button:

<% 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 %>



回答4:


Check you've got something like

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

in your application.html.erb file: if you don't you must add it, as this is where the notice will be displayed.



来源:https://stackoverflow.com/questions/7133392/rails-flash-now-not-working

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!