Почему сообщение `flash [: warning]` не отображается? - PullRequest
3 голосов
/ 17 января 2012

Я использую Rails 3.1.0, и я хотел бы понять, почему следующий код в действии контроллера не отображает сообщение flash[:warning] правильно, даже если я указываю <%= content_tag( :div, flash[:warning]) %> в файле application.html.erb.

flash[:warning] = "Warning message!"

respond_to do |format|
  format.html { redirect_to :root }
end

Почему сообщение flash[:warning] не отображается?Как я могу отобразить это после перенаправления?

PS I : я пытался использовать flash.keep[:warning], но это не сработало.


РЕШЕНИЕ

Проблема в том, что я два раза перенаправляю действия своего контроллера.


PS II : Кто проголосовал, может, по крайней мере,приведите несколько причин ...

Ответы [ 2 ]

0 голосов
/ 17 января 2012

flash.now [: key] снова сохранит флэш-сообщение, ключ для одного запроса, попробуйте

flash.now[:warning] ='message'

, а затем после перенаправления отобразите предупреждающее сообщение с

<%= flash.now[:warning] %>
0 голосов
/ 17 января 2012

Вы написали эту строку в вашем макете / представлении? Если нет, то напишите этот код в файле макета

<%= flash[:warning] || flash[:notice] || flash[:alert] %>
...