Rails: redirect_to with: error, но flash [: error] empty

Я пытаюсь выполнить перенаправление при установке значения flash [: error]. (Rails 3.0.10)

На мой взгляд, у меня

<p id="error"><%= flash[:error] %></p>
<p id="notice"><%= flash[:notice] %></p>

Если я делаю redirect_to show_path, :notice => "ok", он отлично работает, но если я делаю redirect_to show_path, :error => "error", он не отображается.

что я могу потерять?

Ответ 1

Как указано в Rails API: уведомление и: предупреждение по умолчанию применяются как хэш-значение флэш-памяти. Если вам нужно установить значение: error, вы можете сделать это следующим образом:

redirect_to show_path, :flash => { :error => "Insufficient rights!" }

Ответ 2

Если у вас возникла проблема с сохранением вспышки после перенаправления на другой путь, используйте это.

flash.keep

в вашем методе перед перенаправлением.

Ответ 3

Чтобы действительно следовать шаблону PRG, мне интересно, хорошо ли этот проект

https://github.com/tommeier/rails-prg

Я не могу стоять в приложениях, не следующих PRG в качестве пользователя..... Я был на 6 страницах после POST и нажал кнопку "Назад", чтобы вернуться на 10 страниц назад, чтобы заблокировать "вы хотите переписать это дерьмо".... нет, конечно нет. Я просто хочу вернуться к странице, которую я видел раньше.

приложения, отличные от PRG, очень раздражают пользователей.