繁体   English   中英

ActionController :: Parameters'require'方法返回一个字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM