2016-02-25 37 views
2

我正在与一个Web服务,将路由用户回我的网站,并可能追加有关用户的参数(我知道这是可怜的形式,但他们发送多个参数回来,是相同的参数与不同的数据)。假设他们收集了关于用户拥有何种宠物的信息。他们会把它放回格式:Rails多个参数命名相同

&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"]}