2
쿼리 문자열에서 해시를 만들고 싶습니다.루비의 쿼리 문자열에서 해시를 만드는 방법은 무엇입니까?
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}
루비에서이 작업을 수행 할 수있는 간단한 방법이 있나요 : 이것은 내 방법?
내가이 옵션에 보일 것이다 http://stackoverflow.com/questions/2772778/parse-string-as-if-it-were- 루비 온 레일 –
또한 사용하지 않는 경우 : – mdesantis
키를 상징화하지 말 것을 제안합니다. DoS 공격에 대한 문을 열 수 있습니다. 레일스가'HashWithIndifferentAccess'를 만들었습니다. 나는'activesupport'를 요구하고'HashWithIndifferentAccess'를 사용합니다. – mdesantis