Подтвердить что ты не робот

Rails Flash.now не работает

У меня есть представление, из которого я делаю запрос ajax контроллеру, и после успешного завершения действия я инициализирую flash.now [: notice]. Но после того, как управление вернется к просмотру. Я не вижу флэш-сообщения.

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

Ответ 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">&times;<button>   
 <% end %> 
<% end %>