ruby-on-rails - redirect_to home rails




Passando parâmetros em rails redirect_to (6)

Como nós passamos parâmetros em redirect_to nos trilhos? 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 de formulário, como consegui-lo?

EDITAR:

Para a sintaxe do Ruby 2, você precisa atualizar o snippet acima para:

redirect_to action: action_name, id: 3

Basta anexá-los às opções:

redirect_to controller: 'thing', action: 'edit', id: 3, something: 'else'

Produziria /thing/3/edit?something=else


Se você está procurando uma maneira de passar parâmetros de URL adicionais (não controller, action, id, etc), aqui está um método robusto para fazer isso:

object_path(@object, params: request.query_parameters)

Isso irá passar parâmetros utm ou quaisquer outros parâmetros adicionais que você não queira perder.


Se você tiver alguns dados de formulário, por exemplo, enviados para a ação # home, agora você quer redirecioná-los para a casa # agir enquanto mantém os parâmetros, você pode fazer isso

redirect_to act_house_path(request.parameters)


Você pode passar objetos arbitrários para o modelo com o parâmetro flash.

 redirect_to :back, flash: {new_solution_errors: solution.errors}

E, em seguida, acesse-os no modelo por meio do hash.

<% flash[:new_solution_errors].each do |err| %>

redirect_to :controller => "controller_name", :action => "action_name", :id => x.id

redirect_to new_user_path(:id => 1, :contact_id => 3, :name => 'suleman')




ruby-on-rails