Rails-6 Неразрешенные параметры по запросу GET - PullRequest
0 голосов
/ 11 января 2020

Я недавно обновлял приложение Rails v5.2.3 до Rails v6.0.2. Выполнив шаги, описанные в руководстве по обновлению Rails, когда я запускаю сервер rails и выполняю запрос GET, я получаю Unpermitted parameters: :page, :sort, :beds, :baths, :floors

  • Является ли Rails-6 теперь принудительно устанавливающим строгие параметры для запросов GET?
  • Есть ли способ передать / разрешить все параметры для каждого запроса GET в моем приложении из одного источника (возможно, определить некоторые параметры конфигурации в папке конфигурации) вместо использования params.permit для каждого метода?

Вот обратный след:

Started GET "/search?page=1&sort=mp&beds%5B%5D=4&baths%5B%5D=4&floors%5B%5D=2"
Processing by BuildingsController#search as HTML
Parameters: {"page"=>"1", "sort"=>"mp", "beds"=>["4"], "baths"=>["4"], "floors"=>["2"]}
[Unpermitted parameters: :page, :sort, :beds, :baths, :floors

Детали приложения:

  • ruby 2.6.5
  • рельсы 6.0.2
  • bootsnap 1.4.5

Заранее спасибо!

1 Ответ

1 голос
/ 13 января 2020

Изучив и потратив некоторое время на это, я узнал,

  • это не спецификация Rails-6 c.
  • GET-запрос в Rails-6 не будет throw Unpermitted error error.
  • Я использовал эту строку в контроллере redirect_to no_search_results_path(params.permit.except(:action, :controller)) and return, и это вызывало ошибку. Я сейчас использую redirect_to no_search_results_path(params.to_enum.to_h.except(:action, :controller)) and return, и теперь все работает.
...