ไม่จำเป็นต้องโหลดขึ้นป่อง ActiveSupport หรือม้วนของคุณเองคุณสามารถใช้และRack::Utils.build_query
นี่คือโพสต์บล็อกที่ให้ตัวอย่างที่ดี:Rack::Utils.build_nested_query
require 'rack'
Rack::Utils.build_query(
authorization_token: "foo",
access_level: "moderator",
previous: "index"
)
# => "authorization_token=foo&access_level=moderator&previous=index"
มันยังจัดการกับอาร์เรย์:
Rack::Utils.build_query( {:a => "a", :b => ["c", "d", "e"]} )
# => "a=a&b=c&b=d&b=e"
Rack::Utils.parse_query _
# => {"a"=>"a", "b"=>["c", "d", "e"]}
หรือสิ่งที่ซ้อนกันยากขึ้น:
Rack::Utils.build_nested_query( {:a => "a", :b => [{:c => "c", :d => "d"}, {:e => "e", :f => "f"}] } )
# => "a=a&b[][c]=c&b[][d]=d&b[][e]=e&b[][f]=f"
Rack::Utils.parse_nested_query _
# => {"a"=>"a", "b"=>[{"c"=>"c", "d"=>"d", "e"=>"e", "f"=>"f"}]}