如何通過傳遞散列構造具有查詢參數的URI對象?如何使用Ruby中的散列查詢參數構造URI
我可以生成與查詢:
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標籤上有紅寶石。您可以在非rails項目中包含ActiveSupport –