我有一个模型可以序列化current_values
数据库中称为 JSON 的哈希。该模型如下所示:
class Template
belongs_to :user
serialize :current_values, JSON
# has attributes title and description
# ...
end
现在我想创建一个新的模板,控制器看起来像这样:
class TemplateController < ApplicationController
# ...
def create
template = Template.new(template_params)
template.save
# ...
end
private
def template_params
params.require(:template).permit(:title,
:description,
:current_values)
end
# ...
end
如果我使用这个代码params
,看起来像这样:
"template" => {
"title" => "title",
"description" => "description",
"current_values" => {
"foo" => "foo",
"bar" => "bar"
}
}
我收到此错误消息:
Unpermitted parameters: current_values
我已阅读http://api.rubyonrails.org/permit
上的文档,但我无法弄清楚如何在不使用. 我不知道哪些属性将在 中,因此我无法传递具有允许属性的数组。而且我不想允许一切,因为那样有人可能会覆盖.current_values
permit!
current_values
:user_id