How do we pass parameters in redirect_to in rails? I know we can pass id using this:
redirect_to :action => action_name,:id => 3
If I want to pass additional parameters like some form data how to achieve it?
How do we pass parameters in redirect_to in rails? I know we can pass id using this:
redirect_to :action => action_name,:id => 3
If I want to pass additional parameters like some form data how to achieve it?
Just append them to the options:
redirect_to :controller => 'thing', :action => 'edit', :id => 3, :something => 'else'
Would yield /thing/3/edit?something=else
If you are using RESTful resources you can do the following:
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'})