Rails-6 GET 请求上不允许的参数



我最近正在将Railsv5.2.3应用程序升级到Railsv6.0.2。按照 Rails 升级指南中描述的步骤操作后,当我启动 rails 服务器并执行 GET 请求时,我得到Unpermitted parameters: :page, :sort, :beds, :baths, :floors

  • Rails-6现在是否也在GET请求上强制使用强参数?
  • 有没有办法从单个来源传递/允许我的应用程序中每个 GET 请求的所有参数(可能在 config 文件夹中定义一些配置设置(,而不是在每个方法上使用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

应用详情:

  • 红宝石 2.6.5
  • 导轨 6.0.2
  • 引导快照 1.4.5

提前感谢!

在调查并花了一些时间之后,我开始知道

  • 它不是特定于 Rails-6 的。
  • Rails-6 中的 GET 请求不会抛出不允许的参数错误。
  • 我在控制器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,现在一切似乎都正常了。

相关内容

  • 没有找到相关文章

最新更新