如何找到未经许可的params:在活动管理员中的ID?

时间:2017-12-13 09:54:32

标签: ruby-on-rails activeadmin

我的project buildingsaddress。当我建造一座建筑时,不会出现任何问题。当我编辑建筑物时,我得到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]

请告知。

3 个答案:

答案 0 :(得分:2)

它不是建筑物:id,而是应添加address_attributes的{​​{1}}。

所以在:id

building.rb

答案 1 :(得分:0)

: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]

答案 2 :(得分:0)

add:id to 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]