使用select或create选项在active_admin中嵌套表单?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (105)

我使用active_admin作为我们的管理后端。

我们有一个模型“App”:belongs_to模型“Publisher”:

class App < ActiveRecord::Base
  belongs_to :publisher
end

class Publisher < ActiveRecord::Base
  has_many :apps
end

为“App”模型创建新条目时,我想要选择选择现有Publisher还是以相同形式创建新Publisher(

有没有办法在active_admin中做到这一点?

提问于
用户回答回答于

form_builder类支持调用的方法has_many

f.inputs do
  f.has_many :publisher do |p|
    p.input :name
  end
end
用户回答回答于

首先,确保在Publisher模型中,拥有相关对象的正确权限:

class App < ActiveRecord::Base
  attr_accessible :publisher_attributes

  belongs_to :publisher
  accepts_nested_attributes_for :publisher, reject_if: :all_blank
end

然后在你的ActiveAdmin文件中:

form do |f|
  f.inputs do
    f.input :title
    # ...
  end

  f.inputs do
    # Output the collection to select from the existing publishers
    f.input :publisher # It's that simple :)

    # Then the form to create a new one
    f.object.publisher.build # Needed to create the new instance
    f.semantic_fields_for :publisher do |p|
      p.input :name
    end
  end

  f.buttons
end

扫码关注云+社区

领取腾讯云代金券