Как построить объект URI с аргументами запроса, передавая хэш?Как построить URI с аргументами запроса из hash в Ruby
я могу генерировать запрос с:
URI::HTTPS.build(host: 'example.com', query: "a=#{hash[:a]}, b=#{[hash:b]}")
, который генерирует
https://example.com?a=argument1&b=argument2
однако я думаю, построение строки запроса для многих аргументов будет нечитаемым и трудно поддерживать. Я хотел бы построить строку запроса, передав хеш. Как и в примере ниже:
hash = {
a: 'argument1',
b: 'argument2'
#... dozen more arguments
}
URI::HTTPS.build(host: 'example.com', query: hash)
, который поднимает
NoMethodError: undefined method `to_str' for {:a=>"argument1", :b=>"argument2"}:Hash
Можно ли построить строку запроса на основе хэш с использованием URI API? Я не хочу, чтобы объект хэш-объекта обезьяны ...
'to_query 'является единственным методом Rails. Это не существует в Ruby. –
Вопросы @marc_ferna имеют рубин на теге rails. Вы можете включить: ActiveSupport в проекты без рельсов –