I have a infrastructure object composed for many datacenters. In the apps/admin/infrastructures.rb I have the following code:
form do |f|   f.inputs "Infrastructure details" do     f.input :name      f.has_many :datacenters do |datacenter_form|       datacenter_form.input :name             end   end   f.buttons end   I can add datacenters with no problems but I don't know how I can delete it from infrastructure form.
Rails 5.1.4, ActiveAdmin 1.0.0
Append :id and _destroy in permit_params along with other attributes from the model e.g. :name in your case. Then provide the :allow_destroy option in f.has_many too. Other requirements remain the same; like adding allow_destroy: true in accepts_nested_attributes_for.
Final look:
ActiveAdmin.register Infrastructure do   permit_params :name, datacenters_attributes: [:id, :_destroy, :name]    form do |f|     f.inputs "Infrastructure details" do       f.input :name        f.has_many :datacenters, heading: false,                                allow_destroy: true,                                new_record: false do |datacenter_form|         datacenter_form.input :name               end     end     f.buttons   end end  ActiveAdmin Reference
This worked for me:
     i.input :_destroy, as: :boolean  and in the Model remember to add :allow_destroy :
     accepts_nested_attributes_for :images, allow_destroy: true 
                        Solved adding the following line:
datacenter_form.input :_destroy, :as => :boolean, :required => false, :label => 'Remove'   The code looks like:
form do |f|   f.inputs "Infrastructure details" do     f.input :name      f.has_many :datacenters do |datacenter_form|       datacenter_form.input :name       datacenter_form.input :_destroy, :as => :boolean, :required => false, :label => 'Remove'     end   end   f.buttons end 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With