Hasta ahora tengo:¿Qué tipos de mensajes flash están disponibles en Rails?
- : Aviso
- : alerta
- : error
pero no es una lista definitiva, que se puede utilizar en su lugar, como en redirect_to path, :error => "Oh no!"
?
Hasta ahora tengo:¿Qué tipos de mensajes flash están disponibles en Rails?
pero no es una lista definitiva, que se puede utilizar en su lugar, como en redirect_to path, :error => "Oh no!"
?
No, como un tipo de flash puede usar cualquier símbolo, incluso el suyo.
Hauleth es correcto que se puede utilizar cualquier símbolo, pero en este momento, :notice
y :alert
son los únicos que se pueden pasar directamente en redirect_to
(según flash.rb in Rails source), como usted menciona específicamente:
redirect_to path, :error => "Oh no!" # Will not work
Si quieres un flash de tipo diferente, como :error
(o :success
), debe pasar a través de los de la llave :flash
, así:
redirect_to path, :flash => { :error => "Oh no!" }
Para obtener información sobre cómo registrar sus tipos de flash personalizados para que, como :notice
y :alert
, puede pasar directamente a redirect_to
, vea este stackoverflow Q & A: https://stackoverflow.com/a/3848759/995663
Actualización: Según this commit, parece que Rails 4 lo hará más fácil al permitirle registrar tipos de flash personalizados llamando al add_flash_types :error
en ApplicationController.
Rails 4 vías: http://stackoverflow.com/a/18642036/2148302 – sampi
Hablando sobre el rendimiento o la forma correcta de lograr el mismo comportamiento, ¿cuál es la mejor manera de hacerlo? ** 1.- Agregar nuevos tipos de flash * * como con 'add_flash_types: error, ...' o ** 2.- Agregando nuevos hashes en el objeto Flash ** como con ': flash => {: error =>" ¡Oh, no! " } '? –
Como Steve Grossi señala a continuación, no puede pasar ningún símbolo a 'redirect_to' como en el ejemplo que usa cjm2671. – Nathan