рельсы ActiveAdmin вложенная форма - PullRequest
0 голосов
/ 07 ноября 2011

Я пытался понять, почему моя форма не работает должным образом. -- это ближе всего к тому, чтобы заставить его работать, он показывает поле местоположения однако, когда я делаю это, когда я отправляю форму, он говорит: «Неизвестный атрибут места ", что я считаю, потому что места на самом деле должны быть доступ осуществляется как f.inputs: name => "Location",: for =>: location do | location_form |, вместо того, что у меня ниже (верно?), но когда я это делаю без множественного числа ничего не появляется вообще. Если я делаю это во множественном числе, это не так знать, что делать с атрибутами местоположения. Может кто-нибудь сказать мне, если я я делаю что-то не так, или если это ошибка? Спасибо за тонну заранее.

class Store < ActiveRecord::Base

  has_one :location
  belongs_to :admin_user
  accepts_nested_attributes_for :location

end

class Location < ActiveRecord::Base

  belongs_to :store

end

ActiveAdmin.register Store do

  form do |f|
    f.inputs "Details" do
      f.input :name
      f.input :description
      f.input :admin_user
    end

    f.inputs :name => "Location", :for => :locations do |location_form|
      location_form.input :address
    end

    f.buttons
  end
end 

Ответы [ 3 ]

4 голосов
/ 18 января 2012

Возможно, попробуйте вместо

f.inputs :name => "Location", :for => :locations do |location_form|
  location_form.input :address
end

это

f.inputs :name => "Location", :for => [f.object.location || Location.new] do |location_form|
  location_form.input :address
end
3 голосов
/ 08 ноября 2011

Вам следует попробовать метод has_many объекта, который дает активный администратор формы.

f.has_many :locations do |location_form|
  location_form.input :name
end
0 голосов
/ 28 марта 2013

Вы можете попробовать, создав объект местоположения,

f.semantic_fields_for :locations, Location.new do |ff|
  ff.input :name
end
...