Rails Flash.now не работает
У меня есть представление, из которого я делаю запрос ajax контроллеру, и после успешного завершения действия я инициализирую flash.now [: notice]. Но после того, как управление вернется к просмотру. Я не вижу флэш-сообщения.
flash.now[:notice] = "Request Completed successfully" if @meetings.any?
Ответы
Ответ 1
При перенаправлении используйте
flash[:notice] = "This message value is available in next request-response cycle"
При рендеринге используйте
flash.now[:notice] = "Message is available in same request-response cycle"
Информация из здесь
Ответ 2
Вы flash.now ПЕРЕД вызовом рендера? В противном случае ваше сообщение не появится.
Ответ 3
У вас есть что-то вроде
<% flash.each do |key, value| %>
<div class="flash <%= key %>"><%= value %></div>
<% end %>
в файле application.html.erb: если вы этого не сделаете, вы должны добавить его, так как здесь будет отображаться уведомление.
Ответ 4
в контроллере:
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">×<button>
<% end %>
<% end %>