ruby-on-rails - what - wikipedia ruby on rails




Passando i parametri nei binari redirect_to (5)

Come passiamo i parametri in redirect_to in rail? So che possiamo passare id usando questo:

redirect_to :action => action_name,:id => 3

Se voglio passare parametri aggiuntivi come alcuni dati del modulo come raggiungerlo?

MODIFICARE:

Per la sintassi di Ruby 2 devi aggiornare lo snippet sopra a:

redirect_to action: action_name, id: 3

È possibile passare oggetti arbitrari al modello con il parametro flash.

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

E poi accedervi nel modello tramite l'hash.

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

Basta aggiungerli alle opzioni:

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

Produrrebbe /thing/3/edit?something=else


Se stai usando risorse RESTful puoi fare quanto segue:

redirect_to action_name_resource_path(resource_object, param_1: 'value_1', param_2: 'value_2')

or
#You can also use the object_id instead of the object
redirect_to action_name_resource_path(resource_object_id, param_1: 'value_1', param_2: 'value_2')

or
#if its a collection action like index, you can omit the id as follows
redirect_to action_name_resource_path(param_1: 'value_1', param_2: 'value_2')

#An example with nested resource is as follows:
redirect_to edit_user_project_path(@user, @project, param_1: 'value_1', param_2: 'value_2')

routes.rb

 match 'controller_name/action_name' => 'controller_name#action_name', via: [:get, :post], :as => :abc

Di seguito è riportato qualsiasi controller che si desidera reindirizzare con i parametri:

redirect_to abc_path(@abc, id: @id), :notice => "message fine" 

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




ruby-on-rails