Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 不能允许参数?_Ruby On Rails_Ruby On Rails 4_Strong Parameters - Fatal编程技术网

Ruby on rails 不能允许参数?

Ruby on rails 不能允许参数?,ruby-on-rails,ruby-on-rails-4,strong-parameters,Ruby On Rails,Ruby On Rails 4,Strong Parameters,这对我来说很奇怪,所以我只是好奇是否有其他人遇到过: 我有以下几点: def credential_params params.required(:credential).permit(:name,:agent_ids) end 在我的控制器创建和更新操作中,我正在使用上述参数调用的质量分配 @credential.update_attributes(credential_params) 但我仍然得到未经许可的参数:agent\u id 如果我将此更改为params.required(:

这对我来说很奇怪,所以我只是好奇是否有其他人遇到过:

我有以下几点:

def credential_params
  params.required(:credential).permit(:name,:agent_ids)
end
在我的控制器创建和更新操作中,我正在使用上述参数调用的质量分配

@credential.update_attributes(credential_params)
但我仍然得到
未经许可的参数:agent\u id

如果我将此更改为
params.required(:凭证)。请允许(即允许所有人)当然可以

我觉得我一定忽略了一些明显的问题。。。有人知道可能是什么吗?

知道了

阵列不是以下类型之一:

允许的标量类型有字符串、符号、NilClass、数值、TrueClass、FalseClass、日期、时间、日期时间、StringIO、IO、ActionDispatch::Http::UploadedFile和Rack::Test::UploadedFile

因此,解决方案是指定一个数组,如下所示:

params.require(:credential).permit(:name, :agent_ids => [])
希望其他人觉得这有用。

试试看

params.require(:credential).permit(:name, { :agent_ids => [] })

这不应该是
require
?@jvnill-看了文档后,应该是,但是你知道吗?它也是“必需的”。我不知道这是一个bug还是一个功能…@jvnill:这是一个功能,
required
require
的别名,请看附近的来源:我想我们大概是在同一时间发布的,但我会给你答案,因为它不值得我打分:)谢谢你的关注!