如何在活动管理员中找到未经许可的参数:id?
How to locate unpermitted params :id in active admin?
我有一个 project
有 buildings
有 address
。当我创建建筑物时,不会出现任何问题。当我编辑建筑物时,我得到 Unpermitted parameter: :id
在我的 building.rb:
permit_params :name, :construction_year, :floors, :building_type, :energy_label, :owner_id, :manager_id, :project_ids,
address_attributes: [:street, :number, :postal_code, :city]
参数:
{"utf8"=>"✓", "authenticity_token"=>"jNSKHkHXRr6W8+1vrpg6ZO8QN34zsByq8Hl/dkz0KFR2o4eU61qaHr3mVUQFfMoxKvjxX096N8a5kOPFw4QP5Q==", "building"=>{"project_ids"=>"1b4a46df-62bc-44ec-8915-e0d3b5e8b398", "name"=>"a1", "construction_year"=>"2010", "floors"=>"5", "building_type"=>"single_tenant", "energy_label"=>"A++", "owner_id"=>"98f74ca0-986f-4733-91e6-185a7c7920f5", "manager_id"=>"98f74ca0-986f-4733-91e6-185a7c7920f5", "address_attributes"=>{"street"=>"lane", "number"=>"1", "postal_code"=>"0000aa", "city"=>"somewhere", "id"=>"049e44df-6d0d-4c86-9ea8-34aba5b8d5f8"}}, "commit"=>"Update Building", "id"=>"db66a4fd-768b-4315-a4e9-3e7aa04d9cdf"}
不允许的ID是:
"id"=>"db66a4fd-768b-4315-a4e9-3e7aa04d9cdf"
我尝试按如下方式添加它(也以不同的方式添加,例如 building_id),但它并没有删除消息。
permit_params :id, :name, :construction_year, :floors, :building_type, :energy_label, :owner_id, :manager_id, :project_ids,
address_attributes: [:street, :number, :postal_code, :city]
请指教
不是建筑 :id
,而是应该添加 :id
的 address_attributes
。
所以在 building.rb
:
permit_params :name, :construction_year, :floors, :building_type, :energy_label, :owner_id, :manager_id, :project_ids,
address_attributes: [:id, :street, :number, :postal_code, :city]
将 :id
添加到您的嵌套属性中
permit_params :id, :name, :construction_year, :floors, :building_type, :energy_label, :owner_id, :manager_id, :project_ids,
address_attributes: [:id, :street, :number, :postal_code, :city]
将 :id 添加到 address_attributes
permit_params :name, :construction_year, :floors, :building_type, :energy_label, :owner_id, :manager_id, :project_ids,
address_attributes: [:id, :street, :number, :postal_code, :city]
我有一个 project
有 buildings
有 address
。当我创建建筑物时,不会出现任何问题。当我编辑建筑物时,我得到 Unpermitted parameter: :id
在我的 building.rb:
permit_params :name, :construction_year, :floors, :building_type, :energy_label, :owner_id, :manager_id, :project_ids,
address_attributes: [:street, :number, :postal_code, :city]
参数:
{"utf8"=>"✓", "authenticity_token"=>"jNSKHkHXRr6W8+1vrpg6ZO8QN34zsByq8Hl/dkz0KFR2o4eU61qaHr3mVUQFfMoxKvjxX096N8a5kOPFw4QP5Q==", "building"=>{"project_ids"=>"1b4a46df-62bc-44ec-8915-e0d3b5e8b398", "name"=>"a1", "construction_year"=>"2010", "floors"=>"5", "building_type"=>"single_tenant", "energy_label"=>"A++", "owner_id"=>"98f74ca0-986f-4733-91e6-185a7c7920f5", "manager_id"=>"98f74ca0-986f-4733-91e6-185a7c7920f5", "address_attributes"=>{"street"=>"lane", "number"=>"1", "postal_code"=>"0000aa", "city"=>"somewhere", "id"=>"049e44df-6d0d-4c86-9ea8-34aba5b8d5f8"}}, "commit"=>"Update Building", "id"=>"db66a4fd-768b-4315-a4e9-3e7aa04d9cdf"}
不允许的ID是:
"id"=>"db66a4fd-768b-4315-a4e9-3e7aa04d9cdf"
我尝试按如下方式添加它(也以不同的方式添加,例如 building_id),但它并没有删除消息。
permit_params :id, :name, :construction_year, :floors, :building_type, :energy_label, :owner_id, :manager_id, :project_ids,
address_attributes: [:street, :number, :postal_code, :city]
请指教
不是建筑 :id
,而是应该添加 :id
的 address_attributes
。
所以在 building.rb
:
permit_params :name, :construction_year, :floors, :building_type, :energy_label, :owner_id, :manager_id, :project_ids,
address_attributes: [:id, :street, :number, :postal_code, :city]
将 :id
添加到您的嵌套属性中
permit_params :id, :name, :construction_year, :floors, :building_type, :energy_label, :owner_id, :manager_id, :project_ids,
address_attributes: [:id, :street, :number, :postal_code, :city]
将 :id 添加到 address_attributes
permit_params :name, :construction_year, :floors, :building_type, :energy_label, :owner_id, :manager_id, :project_ids,
address_attributes: [:id, :street, :number, :postal_code, :city]