我目前在Ruby on Rails中使用active_admin中的多态关联表单时遇到问题。
我设置了三个模型:办公室,公司和用户。公司和用户都可以拥有办公室。我的模型设置如下:
class Office < ActiveRecord::Base
belongs_to :ownable, :polymorphic => true
end
class User < ActiveRecord::Base
has_many :offices, :as => :ownable
end
class Company < ActiveRecord::Base
has_many :offices, :as => :ownable
end
active_admin不允许我在其表单上编辑所有者,但会在索引和显示页面上正确显示它(包括指向公司或用户的链接)。
我尝试使用formtastic来手动创建表单,但没有任何运气 - “可拥有”字段被忽略,其他所有字段都正确呈现。
要明确:我希望能够在新的和编辑active_admin字段中编辑Office模型的所有者。
任何人都可以提供任何帮助吗? :)
答案 0 :(得分:0)
嘿,我知道这已经晚了一个月了,但是当我在寻找不同的答案时,我遇到了你的问题。
我一直在使用ActiveAdmin和我的项目中的多态关系。
我会建议:
ActiveAdmin.register Office do
form do |f|
f.inputs :ownable_type, :ownable_id
f.buttons
end
当模型是多态的时,需要配置两个字段,指向与其有关系的对象。因此,在这种情况下,您需要所有者类型(用户或公司)的字段和对象的ID。
这应该允许您编辑特定Office上的这些字段。