active_admin / formtastic忽略多态关联

时间:2011-11-24 17:47:29

标签: ruby-on-rails polymorphic-associations formtastic activeadmin

我目前在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模型的所有者。

任何人都可以提供任何帮助吗? :)

1 个答案:

答案 0 :(得分:0)

嘿,我知道这已经晚了一个月了,但是当我在寻找不同的答案时,我遇到了你的问题。

我一直在使用ActiveAdmin和我的项目中的多态关系。

我会建议:

ActiveAdmin.register Office do
  form do |f|
    f.inputs :ownable_type, :ownable_id
    f.buttons
  end

当模型是多态的时,需要配置两个字段,指向与其有关系的对象。因此,在这种情况下,您需要所有者类型(用户或公司)的字段和对象的ID。

这应该允许您编辑特定Office上的这些字段。