Como passamos parâmetros em redirect_to em rails? Eu sei que podemos passar id usando isso:
redirect_to :action => action_name,:id => 3
Se eu quiser passar parâmetros adicionais, como alguns dados do formulário, como alcançá-lo?
EDITAR:
Para a sintaxe do Ruby 2, você deve atualizar o snippet acima para:
redirect_to action: action_name, id: 3
ruby-on-rails
markiv
fonte
fonte
Respostas:
Basta anexá-los às opções:
Renderia
/thing/3/edit?something=else
fonte
Se você estiver usando recursos RESTful, poderá fazer o seguinte:
fonte
Se você tiver alguns dados do formulário, por exemplo, enviados para a ação home #, agora deseja redirecioná-los para a ação house # mantendo os parâmetros, poderá fazer isso
redirect_to act_house_path(request.parameters)
fonte
redirect_to act_house_path(request.parameters.merge(key: "value"))
redirect_to act_house_path(request.parameters.except(:authenticity_token, :controller, :action, :utf8, :commit)
Você pode passar objetos arbitrários para o modelo com o parâmetro flash.
E, em seguida, acesse-os no modelo por meio do hash.
fonte
fonte
fonte
Se você está procurando uma maneira de passar parâmetros adicionais de URL (não controlador, ação, ID etc.), aqui está um método robusto para fazer isso:
Isso transmitirá parâmetros utm ou quaisquer outros parâmetros adicionais que você não deseja perder.
fonte
routes.rb
Qualquer controlador que você deseja redirecionar com parâmetros é fornecido abaixo:
fonte
Direcione seu caminho, pegue o
params
e retorne:fonte