Help me understand what to_param does on a hash


#1

Hi all,
I’m trying to track down the source of the to_param method for hashes.
let’s say I have a hash like this: {:b=>“This is a description”,
:a=>“1”}
what I currently get from to_param is “a=1&b=This+is+a+description”
which is both sorted and escaped.
The problem is I need the values to be URI escaped (a space should be
%20, not a +) and I can’t figure out an easy way to do it. I also can’t
track down the actual source (for example, how does the sorting takes
place?)

can someone help out?
Thanks :slight_smile:


#2

On 5 Mar 2009, at 16:47, Ehud R. wrote:

Hi all,
I’m trying to track down the source of the to_param method for hashes.
let’s say I have a hash like this: {:b=>“This is a description”,
:a=>“1”}
what I currently get from to_param is “a=1&b=This+is+a+description”
which is both sorted and escaped.
The problem is I need the values to be URI escaped (a space should be
%20, not a +) and I can’t figure out an easy way to do it. I also
can’t

CGI::escape disagrees

track down the actual source (for example, how does the sorting takes
place?)

It’s in active_support/core_ext/hash/conversions.rb

Fred