【发布时间】:2020-01-11 08:37:56
【问题描述】:
我最近将 Rails v5.2.3 应用程序升级到 Rails v6.0.2。遵循 Rails 升级指南中描述的步骤后,当我启动 rails 服务器并执行 GET 请求时,我得到Unpermitted parameters: :page, :sort, :beds, :baths, :floors
- Rails-6 现在是否也对 GET 请求强制使用强参数?
- 是否有任何方法可以从单一来源(可能在 config 文件夹中定义一些配置设置)传递/允许我的应用程序中每个 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
应用详情:
- 红宝石 2.6.5
- 导轨 6.0.2
- bootsnap 1.4.5
提前致谢!
【问题讨论】:
-
可以在每个控制器中添加参数
def person_params params.require(:person).permit(:page, :sort, :beds, :baths, :floors) end -
我认为我不必为每个控制器的动作都这样做!必须有一些配置级别设置才能工作,或者可能在 application_controller 内
-
@KamalPanhwar 看来您还没有阅读我的整个问题!我在 GET 请求中遇到了这个问题,您提供的解决方案适用于 POST 请求
标签: strong-parameters ruby-on-rails-6