Rails: redirect_to mit: error, aber flash [: error] leer

117

Ich versuche eine Umleitung durchzuführen, während ich den Flash-Wert [: error] einstelle. (Schienen 3.0.10)

Meiner Ansicht nach habe ich

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

Wenn ich ein mache redirect_to show_path, :notice => "ok", funktioniert es gut, aber wenn ich es mache, wird redirect_to show_path, :error => "error"es nicht angezeigt.

Was könnte ich vermissen?

Daniel
quelle

Antworten:

237

Wie in der Rails-API nur angegeben: "Benachrichtigung" und "Warnung" werden standardmäßig als Flash-Hash-Wert angewendet. Wenn Sie den Fehlerwert: einstellen müssen, können Sie dies folgendermaßen tun:

redirect_to show_path, flash: { error: "Insufficient rights!" }
Tarnschaf
quelle
3
Aus Gründen der Klarheit : redirect_to(show_path, {:flash => { :error => "Insufficient rights!" }}). Dieses Format wird benötigt, wenn Sie show_path mit URL-Optionen erstellen möchten.
Spyle
1
Das hat auch bei mir funktioniert, ich frage mich nur, was der Gedanke hinter dem Hinweis / Alarm war, der im Flash-Hash war
jbnunn
2
Arbeitete in Rails 5
Richard Peck
1
Sie können vom Ruby 1.9-Format redirect_to(show_path, flash: { error: "Insufficient rights!" })
weggehen
17

Wenn Sie Probleme haben, den Flash nach der Umleitung auf einen anderen Pfad beizubehalten, verwenden Sie diesen.

flash.keep

in Ihrer Methode, bevor Sie umleiten.

Ramiz Raja
quelle
Ich bekomme gerade folgendes auf der gerichteten Seite gezeigt:#<ActionDispatch::Flash::FlashHash:0x007f88c6e0c3c8> #<ActionDispatch::Flash::FlashHash:0x007f88c6e0c3c8>
Hengjie
Es scheint nicht die Antwort auf die Frage zu sein, aber es war die Lösung meines Problems!
Claudio Shigueo Watanabe
0

Um dem PRG-Muster wirklich zu folgen, frage ich mich, ob dieses Projekt gut funktioniert

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

Ich kann Apps nicht ausstehen, die PRG nicht als Benutzer folgen ..... Ich war 6 Seiten nach einem POST und drücke auf die Schaltfläche "Zurück", um zu 10 Seiten vor 10 Seiten zurückzukehren. ...Nein natürlich nicht. Ich möchte nur zu einer Seite zurückkehren, die ich zuvor gesehen habe.

Nicht-PRG-Apps sind für Benutzer sehr, sehr ärgerlich.

Dean Hiller
quelle