[英]ActionController::Parameters 'require' method returns a string
在控制器的create
方法上,尝试设置必需和允许的参数失败:
params.fetch(:xyz, {}).require(:name).permit(:local)
回报
undefined method `permit' for "EXAMPLE":String Did you mean? print
参数最初是
"utf8"=>"✓",
"authenticity_token"=>"...",
"xyz"=>{"name"=>"EXAMPLE", "local"=>""},
"commit"=>"Create xyz"}
我什至尝试创建新的Parameters对象,但没有更改:
ActionController::Parameters.new(params.fetch(:dispensary, {})).require(:name).permit(:local)
有人可以阐明这一点吗? 我是Rails的新手,对不起。
正确的语法为:
params.require(:xyz).permit(:local, :name)
我看了一下Rails指南-Strong Parameters ,它给出了一个很好的示例并说明了如何获取参数。 因此,您的代码应如下所示:
def xyz_params
params.require(:xyz).permit(:name, :local)
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.