Do tej pory mam:Jakie rodzaje wiadomości flash są dostępne w Railsach?
- : Zawiadomienie
- alert
- : error
ale tam jest ostateczna lista, które mogą być stosowane w miejsce, tak jak w redirect_to path, :error => "Oh no!"
?
Do tej pory mam:Jakie rodzaje wiadomości flash są dostępne w Railsach?
ale tam jest ostateczna lista, które mogą być stosowane w miejsce, tak jak w redirect_to path, :error => "Oh no!"
?
Nie, jako typ flash można użyć dowolnego symbolu, nawet własnego.
Hauleth jest prawdą, że można użyć dowolnego symbolu, ale teraz, :notice
i :alert
są jedynymi można przekazać bezpośrednio do redirect_to
(według flash.rb in Rails source), jak konkretnie wymienić:
redirect_to path, :error => "Oh no!" # Will not work
Jeśli chcesz inny rodzaj lampy błyskowej, takie jak :error
(lub :success
), trzeba przejść przez te, w kluczu :flash
, tak:
redirect_to path, :flash => { :error => "Oh no!" }
Aby uzyskać informacje na temat rejestrowania niestandardowe typy flash, tak, jak :notice
i :alert
, można przekazać je bezpośrednio do redirect_to
, zobacz ten StackOverflow Q & A: https://stackoverflow.com/a/3848759/995663
Aktualizacja: Według this commit, wygląda na to, że Rails 4 to ułatwia, pozwalając rejestrować niestandardowe typy flash, dzwoniąc pod numer add_flash_types :error
w ApplicationController.
Rails 4 way: http://stackoverflow.com/a/18642036/2148302 – sampi
Mówiąc o wydajności lub właściwej drodze do osiągnięcia tego samego zachowania, jaki jest najlepszy sposób na wykonanie: ** 1.- Dodawanie nowych typów flash * * tak jak w przypadku 'add_flash_types: error, ...' lub ** 2.- Dodanie nowych skrótów w obiekcie Flash ** tak jak w przypadku ': flash => {: error =>" O nie! " } '? –
Jak wskazuje Steve Grossi poniżej, nie można przekazać żadnego symbolu do 'redirect_to', jak w przykładzie, który wykorzystuje cjm2671. – Nathan