Я хочу сформировать URL как
http://www.google.com?name=john%20doe
с использованием Ruby.
У меня есть
u = URI::HTTP.build(host: 'www.google.com', query: { name: 'john doe' }.to_query)
u.to_s
дает мне http://www.google.com?name=john+doe
.
Пробел в john doe
заменяется на +
, потому что
{ name: 'john doe' }.to_query
возвращает name=john+doe
(to_query - это дополнение к Rails, я считаю)
Я хочу %20
вместо +
. Как мне этого легко добиться?
Я знаю, что URI::encode
кодирует пробел в %20
, но мне интересно, есть ли лучший способ, чем преобразовать хеш в строку и затем отправить его через URI :: encode.