Rails: redirect_to avec: erreur, mais flash [: error] vide


117

J'essaie de faire une redirection lors de la définition de la valeur flash [: error]. (Rails 3.0.10)

À mon avis, j'ai

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

Si je fais un redirect_to show_path, :notice => "ok"ça fonctionne bien, mais si je le fais, redirect_to show_path, :error => "error"ça ne s'affiche pas.

que pourrais-je manquer?

Réponses:


238

Comme indiqué dans l' API Rails uniquement: notice et: alert sont appliqués par défaut en tant que valeur de hachage flash. Si vous devez définir la valeur d'erreur:, vous pouvez le faire comme ceci:

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

3
Pour plus de clarté: redirect_to(show_path, {:flash => { :error => "Insufficient rights!" }}). Ce format est nécessaire si vous souhaitez créer show_path avec des options d'URL.
spyle

1
Cela a fonctionné pour moi aussi, je me demande simplement ce que la pensée était derrière le seul avis / alerte étant dans le hachage flash
jbnunn

2
A travaillé dans Rails 5
Richard Peck

1
Vous pouvez passer du format ruby ​​1.9 au:redirect_to(show_path, flash: { error: "Insufficient rights!" })
mmsilviu

17

Si vous rencontrez des problèmes pour conserver le flash après la redirection vers un autre chemin, utilisez-le.

flash.keep

dans votre méthode, avant de rediriger.


Je viens de voir ce qui suit dans la page dirigée:#<ActionDispatch::Flash::FlashHash:0x007f88c6e0c3c8> #<ActionDispatch::Flash::FlashHash:0x007f88c6e0c3c8>
Hengjie

Il semble que ce n'était pas la réponse à la question mais c'était la solution de mon problème!
Claudio Shigueo Watanabe

0

Pour vraiment suivre le modèle PRG, je me demande si ce projet fonctionne bien

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

Je ne supporte pas que les applications ne suivent pas PRG en tant qu'utilisateur ..... J'ai été 6 pages après un POST et j'ai appuyé sur le bouton de retour pour revenir à 10 pages il y a être bloqué par "voulez-vous republier cette merde". ...non bien sûr que non. Je veux juste revenir à une page que j'avais déjà vue.

Les applications non-PRG sont très très ennuyeuses pour les utilisateurs.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.