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ć?

Daniel
źródło

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!" }
Tarnschaf
źródło
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.

Ramiz Raja
źródło
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.

Dean Hiller
źródło