2016-02-25 41 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"]}