Comment passons-nous les paramètres de redirect_to dans les rails? Je sais que nous pouvons transmettre id en utilisant ceci:
redirect_to :action => action_name,:id => 3
Si je veux transmettre des paramètres supplémentaires comme certaines données de formulaire, comment y parvenir?
ÉDITER:
Pour la syntaxe Ruby 2, vous devez mettre à jour l'extrait ci-dessus pour:
redirect_to action: action_name, id: 3
ruby-on-rails
markiv
la source
la source
Réponses:
Ajoutez-les simplement aux options:
Donnerait
/thing/3/edit?something=else
la source
Si vous utilisez des ressources RESTful, vous pouvez effectuer les opérations suivantes:
la source
Si vous avez des données de formulaire par exemple envoyées à home # action, maintenant vous voulez les rediriger vers house # act tout en conservant les paramètres, vous pouvez le faire
redirect_to act_house_path(request.parameters)
la source
redirect_to act_house_path(request.parameters.merge(key: "value"))
redirect_to act_house_path(request.parameters.except(:authenticity_token, :controller, :action, :utf8, :commit)
Vous pouvez passer des objets arbitraires au modèle avec le paramètre flash.
Et puis accédez-y dans le modèle via le hachage.
la source
la source
la source
Si vous cherchez un moyen de transmettre des paramètres d'URL supplémentaires (pas le contrôleur, l'action, l'id, etc.), voici une méthode robuste pour le faire:
Cela transmettra les paramètres utm ou tout autre paramètre supplémentaire que vous ne voudrez pas perdre.
la source
routes.rb
Tout contrôleur que vous souhaitez rediriger avec des paramètres est indiqué ci-dessous:
la source
Parcourez votre chemin, prenez le
params
, et revenez:la source