2
我想從查詢字符串創建一個哈希。這是我的方法:如何從ruby中的查詢字符串創建哈希?
def qs2h(querystring)
hashes = querystring.split('&').inject({}) do |result,query|
k,v = query.split('=')
if !v.nil?
result.merge(k.to_sym => v)
elsif !result.key?(k)
result.merge(k.to_sym => true)
else
result
end
end
hashes
end
qs2h('a=1&b=2&c=3&d') #=> {:a => "1", :b => "2", :c => "3", :d => true}
有沒有更簡單的方法在Ruby中做到這一點?
如果你使用的鐵軌我想看看這個選項:http://stackoverflow.com/questions/2772778/parse-string-as-if-it-were- a-querystring-in-ruby-on-rails –
另外,如果你不使用它:) – mdesantis
我建議你不要象徵鍵,它可以打開DoS攻擊的大門;這就是Rails創建'HashWithIndifferentAccess'的原因。我會'需要'主動支持'並使用'HashWithIndifferentAccess' – mdesantis