Schienen redirect_to mit params
Möchte ich zum übergeben von Parametern (einen hash)redirect_to
, wie dies zu tun? Zum Beispiel:
hash = { :parm1 => "hi", :parm2 => "hi" }
und ich möchte umleiten auf Seite /hello
URL wie diese: /hello?parm1=hi&parm2=hi
hast du auch versuchen?
Was controller und die Aktion hat /Hallo-route?
Kannst du nicht einfach tun, wie diese? redirect_to "Pfad", : parm1 => "hi": parm2 => "Hallo"
Was controller und die Aktion hat /Hallo-route?
Kannst du nicht einfach tun, wie diese? redirect_to "Pfad", : parm1 => "hi": parm2 => "Hallo"
InformationsquelleAutor ygnhzeus | 2012-03-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie nicht über eine benannte route /Hallo dann haben Sie, um fest die params in der Zeichenfolge, die Sie passieren zu
redirect_to
.Aber wenn Sie etwas hatte
hello_path
dann könnten Sieredirect_to hello_path(:param1 => 1, :param2 => 2)
Sie sollten in der Lage sein zu passieren, die ganze hash params als ein argument zu hello_path() und es schreiben jedes Schlüssel-Wert-paar als parameter
Das ist, warum Sie verwenden sollten die benannten Pfad.
InformationsquelleAutor James
Statt:
Können Sie tun:
Du drehst die Parameter in eine url mit
url_for
vor der übergabe anredirect_to
, damit man was passierenredirect_to
endet als eine URL als string, die redirect_to freut sich umleiten.Beachten Sie auch: ich verstehe nicht, warum
redirect_to
sich weigert, zu verwenden params. Es verwendet zu sein, bereit zu verwenden, params. An einigen Punkten jemand etwas Hinzugefügt Schienen zu verbieten. Es lässt mich vermuten, dass es Sicherheits-Gründen, und wenn ja, diese Sicherheits-Gründen könnte bedeuten, dass Sie manuell tunredirect_to url_for(p)
hat Auswirkungen auf die Sicherheit zu. Aber ich habe noch nicht in der Lage zu finden, keine Dokumentation zu erklären, was hier oben.update: ich habe der Sicherheit Warnung, aber noch nicht verdaut es noch nicht: https://github.com/rails/rails/pull/16170
InformationsquelleAutor jrochkind
Einfach, pass der hash in ein argument in der URL und in Ihrem code analysiert werden, um alle benötigten Werte.
Ich weiß, das könnte sehr grundlegende Art und Weise, es zu tun, aber hey, es werde dir irgendwo 🙂
to_param
- Methode.InformationsquelleAutor Aghyad
Der einfachste Weg (wenn es nicht eine benannte route):
redirect_to "/hello?#{hash.to_param}"
Finden Sie unter: http://apidock.com/rails/Hash/to_param
InformationsquelleAutor JacobEvelyn