Rails разбирает запрос, поэтому я получаю все параметры запроса как один параметр - PullRequest
1 голос
/ 04 февраля 2020

Я отправляю весь путь поиска в качестве параметра запроса.

...path/?url=https://www.example.com/en/search?s%5Bparam1%5D=value1&s%5Bparam2%5D=value2&s%5Bparam3%5D=value3

Контроллер Rails интерпретирует это как

params[:url] возвращает "https://www.example.com/en/search?s[param1]=value1"

и

pararms[:s] возвращает "{"s"=>{"param2"=>"value2", "param3"=>"value3"}

Можно ли каким-либо образом получить доступ ко всей строке запроса в params[:url]?

Outcome => params[:url] вернется "https://www.example.com/en/search?s[param1]=value1&s[param2]=value2&s[param3]=value3"

Ответы [ 2 ]

1 голос
/ 04 февраля 2020

Казалось, что URL был отформатирован неправильно, так как вы не можете иметь example.com?url=otherexample.com?a=b&b=c.

Параметр url должен быть закодирован перед отправкой в ​​запросе.

0 голосов
/ 04 февраля 2020

Вы можете отправить параметры как этот

http://www.example.com/en/search?x[]=1&x[]=2&x[]=3

и получите параметр в виде массива в бэкэнде

arr = params[:x] /// [1,2,3]
...