Как добавить кодированные значения запроса в URL?

Я ищу удобный и функциональный способ добавления кодированных значений в строку запроса URL в Ruby. На данный момент у меня есть:

require 'open-uri'

u = URI::HTTP.new("http", nil, "mydomain.example", nil, nil, "/tv", nil, "show=" + URI::encode("Rosie & Jim"), nil) 

p u.to_s # => "http://mydomain.example/tv?show=Rosie%20&%20Jim"

Это не то, что я ищу, потому что мне нужно получить "http://mydomain.example/tv?show=Rosie%20%26%20Jim", чтобы значение show= не было усеченным.

Есть ли у Open::URI другой метод, который мог бы это сделать? Если нет, можно ли это сделать с помощью любого другого стандартного метода Ruby или gem?

5
задан the Tin Man 9 February 2012 в 19:30
поделиться