rails ActiveAdmin nested form has_one accepts_attributes_for formtastic issue rails ActiveAdmin nested form has_one accepts_attributes_for formtastic issue ruby-on-rails ruby-on-rails

rails ActiveAdmin nested form has_one accepts_attributes_for formtastic issue


I found a better solution for you. You can use :for option in inputs helper.

f.inputs "Meta Data", for: [:meta_data, f.object.meta_data || MetaData.new] do |meta_form|  meta_form.input :title  meta_form.input :description  meta_form.input :keywordsend

I think this might work too, but I didn't check

f.inputs :title, :desctiption, :keywords,   name: "Meta Data",  for: [:meta_data, f.object.meta_data || MetaData.new]


In rails 4, this is something that works, with a nice design

e.g., A customer has one account

model/customer.rb

accepts_nested_attributes_for :account

admin/customer.rb

form do |f|  f.inputs do    f.input :user, input_html: { disabled: true }      f.input :name      f.input :address      f.input :city      f.input :country, as: :string    end    f.buttons    f.inputs "Account Information", for: [:account, f.object.account] do |s|      s.input :active, as: :boolean      s.input :subscription, as: :boolean      s.input :expires_on, as: :datepicker      s.actions    end  end  controller do    def permitted_params      params.permit!    end  endend


i was having the same problem, i worked in your hack and got it working.i then moved <% @page.build_meta_data %> to a custom new method like this

  controller do    def new      @tenant = Tenant.new      @tenant.build_tenant_configurable    end  end

hope this helps