URL-encoding and decoding on Rails


I have a URL parameter that has special characters on it, so I do URL
encoding as such:

my_url(:email => CGI.escape(“removed_email_address@domain.invalid”)

Now, I would expect to call a CGI.unescape(params[:email]) on the
action receiving this parameter, and this is true according to my
functional tests.

But when I tested this on the browser, it failed because, apparently,
I didn’t need to do any URL-decoding, and when I did it gave me
“someemail+extension mail.com”.

Is there a built-in URL-decoding on the controller side? If so, how is
it that it doesn’t work on my functional tests.

I tested this on Safari and Firefox 3 browser, by the way.