Rails: получить параметры из строки - PullRequest
0 голосов
/ 15 июля 2010

Скажем, у меня есть строка, которая является 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, к которому вы можете получить доступ, но я говорю только о любой произвольной строке, а не об одной части запроса.

1 Ответ

2 голосов
/ 15 июля 2010

Не уверен, есть ли ярлык на рельсы, но:

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) 

почти там дает вам:

#=> {"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"]}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...