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
的别名,请看附近的来源:我想我们大概是在同一时间发布的,但我会给你答案,因为它不值得我打分:)谢谢你的关注!