Используя следующее приложение Sinatra
get '/app' do
content_type :json
{"params" => params}.to_json
end
Вызов:
/app?param1=one¶m2=two¶m2=alt
Дает следующий результат:
{"params":{"param1":"one","param2":"alt"}}
Params имеет только два ключа, param1 и param2.
Я понимаю, что Sinatra устанавливает параметрические усилители как хеш, но он не представляет весь URL-запрос.
Существует ли способ в Sinatra получить список всех параметров URL, отправленных в запросе?
Я полагаю, что по умолчанию параметры с тем же именем будут перезаписаны параметром, который был обработан последним.
Вы можете настроить params2 как массив
...¶m2[]=two¶m2[]=alt
или проанализировать строку запроса по сравнению с хешем params, предоставленным Sinatra.