我有模型Home和Photo,它们具有has_many - belongs_to关系(一种多态关系,但我认为这在这种情况下无关紧要)。我现在正在设置积极的管理,我希望管理员能够添加家庭的照片从家庭的形式。
这些照片是由CarrierWave gem管理的,我不知道这会让问题变得更容易还是更难。
如何在Active Admin Home表单中包含不同模型的表单域?有做过这样的事情的经验吗?
class Home < ActiveRecord::Base
validates :name, :presence => true,
:length => { :maximum => 100 }
validates :description, :presence => true
has_many :photos, :as => :photographable
end
class Photo < ActiveRecord::Base
belongs_to :photographable, :polymorphic => true
mount_uploader :image, ImageUploader
end
发布于 2011-11-08 05:21:47
在app/admin/home.rb中尝试如下所示:
form do |f|
f.inputs "Details" do
f.name
end
f.has_many :photos do |photo|
photo.inputs "Photos" do
photo.input :field_name
#repeat as necessary for all fields
end
end
end
请确保在您的家庭模型中包含以下内容:
accepts_nested_attributes_for :photos
我修改了另一个堆栈溢出问题:How to use ActiveAdmin on models using has_many through association?
发布于 2012-05-28 10:40:56
我有一个has_one模型,如下所示:
f.has_many :addresses do |a|
a.inputs "Address" do
a.input :street ... etc.
虽然这正确地反映了我们与Address
(这是一个多态模型)的关联,但使用f.has_one
失败了。所以我换成了has_many
,一切都很好。除了现在,我们必须防止我们的用户为同一实体创建多个地址。
https://stackoverflow.com/questions/7958009
复制相似问题