正在获取 ActiveModel::ForbiddenAttributesError,即使参数是允许的。
Getting ActiveModel::ForbiddenAttributesError, even though param is permitted.
尝试在 rails4 中提交 ActiveModel 表单,但出现此错误;
ActiveModel::ForbiddenAttributesError
这是通过表单提交数据的活动管理页面:
ActiveAdmin.register Network do
permit_params :name
这些是通过的参数:
Parameters: {"utf8"=>"✓", "network"=>{"name"=>"Acme, Inc."}, "commit"=>"Save Network"}
name
是唯一通过的参数,并且是允许的参数。那么,为什么会给我这个错误?
所以,我发现了导致错误的罪魁祸首。
我有这些行:
network = Network.new(params[:network])
network.admin ||= User.new(params[:network].andand[:admin])
但在将 params
更改为 permitted_params
后,如下所示
network = Network.new(permitted_params[:network])
network.admin ||= User.new(permitted_params[:network].andand[:admin])
一切正常。
谢谢大家
尝试在 rails4 中提交 ActiveModel 表单,但出现此错误;
ActiveModel::ForbiddenAttributesError
这是通过表单提交数据的活动管理页面:
ActiveAdmin.register Network do
permit_params :name
这些是通过的参数:
Parameters: {"utf8"=>"✓", "network"=>{"name"=>"Acme, Inc."}, "commit"=>"Save Network"}
name
是唯一通过的参数,并且是允许的参数。那么,为什么会给我这个错误?
所以,我发现了导致错误的罪魁祸首。
我有这些行:
network = Network.new(params[:network])
network.admin ||= User.new(params[:network].andand[:admin])
但在将 params
更改为 permitted_params
后,如下所示
network = Network.new(permitted_params[:network])
network.admin ||= User.new(permitted_params[:network].andand[:admin])
一切正常。 谢谢大家