我有一些像{ 'a' => 'abc', 'b' => 'def' }
这样的哈希值。如何将其转换为"a=abc&b=def"
?
答案 0 :(得分:2)
require 'uri'
data = { 'a' => 'abc', 'b' => 'def' }
URI.encode_www_form(data)
结果:
"a=abc&b=def"
如果有需要转义的字符,也可以使用
data = { 'a' => '#', 'b' => '&' }
URI.encode_www_form(data)
结果:
"a=%23&b=%26"
答案 1 :(得分:1)
或者,由于您使用rails并自动拥有ActiveSupport库,因此可以这样做。
{ 'a' => 'abc', 'b' => 'def' }.to_param
答案 2 :(得分:0)
你可以这样做:
h = { 'a' => 'abc', 'b' => 'def' }
query_string = ''
h.each { |k, v| query_string += "#{k}=#{v}&" }
query_string[0..-2]
# > "a=abc&b=def"