Passing more than one parameters to redirect_to

Hi,

I am getting some error which I am clue less. I try to pass more than one parameter with redirect_to, For example,

My params are... search => {"name"=>"", "bus_group"=>"1", "region"=>"", "unapproved"=>"", "tech_owner"=>""}

And I try to give.

redirect_to params[:search].merge! (:action => 'list')

After executing this if I see in log file its showing like

{"bus_group"=>nil, "name"=>"", "amp;region"=>nil, "amp;tech_owner"=>nil, "region"=>"", "amp"=>"", "action"=>"list", "amp;name"=>nil, "controller"=>"tech_projects", "amp;unapproved"=>nil, "unapproved"=>"", "tech_owner"=>""}

I am confused why this "amp;" generally "&" will be parameter separator but one parameter itself called "amp;".also every params are available twice.

Is there any other solution to solve this situation??

Selva Raj wrote:

Selva Raj wrote:

Hi,

I am getting some error which I am clue less. I try to pass more than one parameter with redirect_to, For example,

My params are... search => {"name"=>"", "bus_group"=>"1", "region"=>"", "unapproved"=>"", "tech_owner"=>""}

And I try to give.

redirect_to params[:search].merge! (:action => 'list')

After executing this if I see in log file its showing like

{"bus_group"=>nil, "name"=>"", "amp;region"=>nil, "amp;tech_owner"=>nil, "region"=>"", "amp"=>"", "action"=>"list", "amp;name"=>nil, "controller"=>"tech_projects", "amp;unapproved"=>nil, "unapproved"=>"", "tech_owner"=>""}

I am confused why this "amp;" generally "&" will be parameter separator but one parameter itself called "amp;".also every params are available twice.

Mmmm, try redirect_to {:action => :list}.update(params[:search])

Thanks James,

But its not working, I am using redirect_to in rjs.

If I use "update", that RJS itself not working.

Regards Selvaraj.S

Mark Reginald James wrote:

I use something like this to pass extra params on restful routes. Notice the extra params inside the {}.

redirect_to user_path(@user, {:params1 => 1, :params2 => 2})

Hope it helps,

Elioncho

Whenever you pass more than one parameter in an rjs using redirect_to then it always adds & in the beginning of parameters after the first one. I had this issue as well in the past and after spending hours to fix it, I ended up using only redirect_to instead of redirect_to from rjs (basically I couldn't sort it out).

My guess is that, & is added by prototype somehow.