2016-02-25 4 views
2

Я работаю с веб-службой, которая перенаправляет пользователя на мой сайт и может добавлять параметры к пользователю (я знаю, что это плохая форма, но они отправляют несколько параметров назад, которые являются тот же параметр с разными данными). Скажем, они собрали информацию о том, какие виды домашних животных у пользователя есть. Они отправить его обратно в формате:Rails Multiple Params Называется то же самое

&STANDARD_PETS=1&STANDARD_PETS=3&STANDARD_PETS=4&STANDARD_PETS=8

В Rails, мы, кажется, только захватить последний параметр. Итак, я вижу parameters: {"STANDARD_PETS"=>"8"}

Есть ли какой-либо способ в рельсах, чтобы получить другие 3 STANDARD_PETS параметров, которые передаются?

ответ

1

В дополнение @ ответ MilesStanfield в

Вы можете использовать request.original_url, чтобы получить доступ к полному URL (включая параметры)

require 'uri' 
good_params = CGI.parse(URI.parse(request.original_url).query) 
2
require 'uri' 

url = 'http://www.foo.com?&STANDARD_PETS=1&STANDARD_PETS=3&STANDARD_PETS=4&STANDARD_PETS=8' 
CGI.parse(URI.parse(url).query) 
#=> {"STANDARD_PETS"=>["1", "3", "4", "8"]}