简体   繁体   English

Rails:从字符串获取参数

[英]Rails: get params from a string

Say I have a string that is a url with params in it: 说我有一个字符串,它是一个带有参数的URL:

http://www.google.com/search?hl=en&client=firefox-a&hs=zlX&rls=org.mozilla%3Aen-US%3Aofficial&q=something&cts=1279154269301&aq=f&aqi=&aql=&oq=&gs_rfai=

How can can I form an array of all the params from the string? 如何从字符串中组成所有参数的数组? I'm aware of the params array that you can access but I'm talking about just any arbitrary string, not one part of the request. 我知道您可以访问的params数组,但我所谈论的只是任何任意字符串,而不是请求的一部分。

Not sure if there is a rails shortcut, but: 不知道是否有Rails快捷方式,但是:

url = 'http://www.google.com/search?hl=en&client=firefox-a&hs=zlX&rls=org.mozilla%3Aen-US%3Aofficial&q=something&cts=1279154269301&aq=f&aqi=&aql=&oq=&gs_rfai='

params = CGI.parse(URI.parse(url).query)

#=> {"hs"=>["zlX"], "oq"=>[""], "cts"=>["1279154269301"], "aqi"=>[""], "rls"=>["org.mozilla:en-US:official"], "hl"=>["en"], "aq"=>["f"], "gs_rfai"=>[""], "aql"=>[""], "q"=>["something"], "client"=>["firefox-a"]}

params = CGI.parse(url) 

is almost there gives you: 几乎可以给您:

#=> {"hs"=>["zlX"], "oq"=>[""], "cts"=>["1279154269301"], "aqi"=>[""], "rls"=>["org.mozilla:en-US:official"], "aq"=>["f"], "http://www.google.com/search?hl"=>["en"], "gs_rfai"=>[""], "aql"=>[""], "q"=>["something"], "client"=>["firefox-a"]}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM