如何在活动管理员中找到未经许可的参数:id?

How to locate unpermitted params :id in active admin?

我有一个 projectbuildingsaddress。当我创建建筑物时,不会出现任何问题。当我编辑建筑物时,我得到 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,而是应该添加 :idaddress_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]