Как мы передаем параметры в redirect_to в рельсах? Я знаю, что мы можем передать идентификатор, используя это:
redirect_to :action => action_name,:id => 3
Если я хочу передать дополнительные параметры, такие как данные формы, как этого добиться?
РЕДАКТИРОВАТЬ:
Для синтаксиса Ruby 2 вы должны обновить приведенный выше фрагмент:
redirect_to action: action_name, id: 3
ruby-on-rails
Маркив
источник
источник
Ответы:
Просто добавьте их к параметрам:
Даст
/thing/3/edit?something=else
источник
Если вы используете ресурсы RESTful, вы можете сделать следующее:
источник
Если у вас есть данные формы, например, отправленные в home # action, теперь вы хотите перенаправить их в house # act с сохранением параметров, вы можете сделать это
redirect_to act_house_path(request.parameters)
источник
redirect_to act_house_path(request.parameters.merge(key: "value"))
redirect_to act_house_path(request.parameters.except(:authenticity_token, :controller, :action, :utf8, :commit)
Вы можете передавать произвольные объекты в шаблон с помощью параметра flash.
А затем получить доступ к ним в шаблоне через хэш.
источник
источник
источник
Если вы ищете способ передать дополнительные параметры URL (не контроллер, действие, идентификатор и т. Д.), Вот надежный метод для этого:
Это передаст параметры utm или любые другие дополнительные параметры, которые вы не хотите потерять.
источник
routes.rb
Любой контроллер, который вы хотите перенаправить с параметрами, указан ниже:
источник
Проложите свой путь, возьмите
params
и вернитесь:источник