views:

266

answers:

1

We just had an existing use of redirect_to break due to a Rails upgrade, and it led to a question. I've been experimenting, and I don't seem to find a way to use redirect_to to send the user to a non-Rails page with query parameters appended, except by manually constructing the URL string, which seems like a shame. Previously, just a simple:

redirect_to "http://www.web.com/myurl" "parm"

was working -- it appended "parm" onto the URL, and multiple parms were handled correctly. That's no longer the case, so I was wondering if there's a new/better way to do this. The docs imply that including a Hash should work, but it doesn't:

redirect_to ("http://www.web.com/myurl", :parm => "foo")
redirect_to ("http://www.web.com/myurl", { :parm => "foo" } )

Neither one works. Manually building the URL string works fine, but does anyone have an incantation that makes this work a nicer way?

+2  A: 

According to the documentation, any parameters that are not recognized by url_for are passed on to the Route modules, so in theory, your code should work unless your parameter overrides one of the default ones that it looks for.

However, there is an :overwrite_params hash that you can supposedly pass:

redirect_to 'http://www.web.com/myurl', :overwrite_params => { :parm => 'foo' }

Hope this helps.

Topher Fangio