Rails: redirect_to з: помилка, але спалах [: помилка] порожній


117

Я намагаюся зробити переадресацію під час встановлення значення спалаху [: помилка]. (Рейки 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"це роблю, він не з’являється.

чого я міг пропасти?

Відповіді:


238

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

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

3
Для ясності: redirect_to(show_path, {:flash => { :error => "Insufficient rights!" }}). Цей формат потрібен, якщо ви хочете створити show_path з параметрами URL.
шпиль

1
Це теж працювало для мене, мені просто цікаво, що ця думка стояла за лише повідомленням / попередженням, що знаходиться у хеш-флеш
jbnunn

2
Працював у рейках 5
Річард Пек

1
Ви можете перейти від формату ruby ​​1.9 до:redirect_to(show_path, flash: { error: "Insufficient rights!" })
mmsilviu

17

Якщо у вас виникли проблеми зберегти спалах після переадресації на інший шлях, скористайтеся цим.

flash.keep

у вашому методі перед перенаправленням.


Я просто отримую таке, що відображається на сторінці направлених:#<ActionDispatch::Flash::FlashHash:0x007f88c6e0c3c8> #<ActionDispatch::Flash::FlashHash:0x007f88c6e0c3c8>
Hengjie

Здається, це не відповідь на питання, але це було вирішенням моєї проблеми!
Клаудіо Шигео Ватанабе

0

Щоб справді слідувати схемі PRG, мені цікаво, чи добре працює цей проект

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

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

програми, що не стосуються PRG, дуже дратують користувачів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.