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