Rails: redirect_to z: error, ale flash [: error] jest puste


117

Próbuję wykonać przekierowanie podczas ustawiania wartości flash [: error]. (Rails 3.0.10)

Moim zdaniem mam

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

Jeśli to zrobię redirect_to show_path, :notice => "ok", działa dobrze, ale jeśli to zrobię redirect_to show_path, :error => "error", nie pojawia się.

czego mogłem przegapić?

Odpowiedzi:


238

Jak stwierdzono tylko w Rails API : notice i: alert są domyślnie stosowane jako wartość skrótu flash. Jeśli chcesz ustawić wartość: error, możesz to zrobić w następujący sposób:

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

3
Dla jasności: redirect_to(show_path, {:flash => { :error => "Insufficient rights!" }}). Ten format jest potrzebny, jeśli chcesz utworzyć show_path z opcjami adresu URL.
spyle

1
To też zadziałało dla mnie, po prostu zastanawiam się, jaka była myśl, która kryła się za tylko powiadomieniem / ostrzeżeniem będącym w flash-haszu
jbnunn

2
Pracował w Rails 5
Richard Peck

1
Możesz odejść od formatu ruby ​​1.9 do:redirect_to(show_path, flash: { error: "Insufficient rights!" })
mmsilviu

17

Jeśli masz problem z utrzymaniem lampy błyskowej po przekierowaniu na inną ścieżkę, użyj tego.

flash.keep

w swojej metodzie, przed przekierowaniem.


Na skierowanej stronie widzę tylko następujący komunikat:#<ActionDispatch::Flash::FlashHash:0x007f88c6e0c3c8> #<ActionDispatch::Flash::FlashHash:0x007f88c6e0c3c8>
Hengjie

Wydaje się, że to nie była odpowiedź na pytanie, ale było to rozwiązanie mojego problemu!
Claudio Shigueo Watanabe

0

Aby naprawdę podążać za wzorcem PRG, zastanawiam się, czy ten projekt działa dobrze

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

Nie mogę znieść aplikacji, które nie podążają za PRG jako użytkownik ..... Byłem 6 stron po POST i nacisnąłem przycisk Wstecz, aby wrócić do 10 stron. Zostałem zablokowany przez "Czy chcesz ponownie opublikować to gówno". ...nie, oczywiście nie. Chcę tylko wrócić do strony, którą widziałem wcześniej.

Aplikacje inne niż PRG są bardzo irytujące dla użytkowników.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.