Wie übergeben wir Parameter in redirect_to in Rails? Ich weiß, dass wir die ID damit übergeben können:
redirect_to :action => action_name,:id => 3
Wenn ich zusätzliche Parameter wie einige Formulardaten übergeben möchte, wie kann ich dies erreichen?
BEARBEITEN:
Für die Ruby 2-Syntax müssen Sie das obige Snippet auf Folgendes aktualisieren:
redirect_to action: action_name, id: 3
ruby-on-rails
markiv
quelle
quelle
Antworten:
Fügen Sie sie einfach den Optionen hinzu:
Ergäbe
/thing/3/edit?something=else
quelle
Wenn Sie RESTful-Ressourcen verwenden, können Sie Folgendes tun:
quelle
Wenn Sie beispielsweise einige Formulardaten an home # action gesendet haben, möchten Sie diese jetzt unter Beibehaltung der Parameter an house # act umleiten. Dies können Sie tun
redirect_to act_house_path(request.parameters)
quelle
redirect_to act_house_path(request.parameters.merge(key: "value"))
redirect_to act_house_path(request.parameters.except(:authenticity_token, :controller, :action, :utf8, :commit)
Mit dem Parameter flash können Sie beliebige Objekte an die Vorlage übergeben.
Und dann greifen Sie in der Vorlage über den Hash darauf zu.
quelle
quelle
quelle
Wenn Sie nach einer Möglichkeit suchen, zusätzliche URL-Parameter (nicht Controller, Aktion, ID usw.) zu übergeben, finden Sie hier eine robuste Methode:
Das wird entlang passieren utm Parameter oder andere zusätzliche params Sie wollen nicht zu verlieren.
quelle
route.rb
Alle Controller, die Sie mit Parametern umleiten möchten, sind unten angegeben:
quelle
Routen Sie Ihren Weg und nehmen Sie den
params
und kehren Sie zurück:quelle