7

我已经设法act_as_list一个一个地使用我的模型(这很容易),但现在我遇到了问题。

在我的应用程序中有 3 个模型FacilityServiceActivity。我需要acts_as_list在他们的工会上使用……可以这样做吗?

希望我的问题很清楚

4

1 回答 1

5

您应该使用具有多态关联的第四个模型,然后将列表放在上面。

首先,阅读多态关联以了解这一点:http: //guides.rubyonrails.org/association_basics.html#polymorphic-associations

现在你会想要一个看起来像这样的类:

class Position < ActiveRecord::Base
  belongs_to :positionable, polymorphic: true
end

看起来像这样的迁移:

class CreatePositions < ActiveRecord::Migration
  def change
    create_table :position do |t|
      t.integer :positionable_id
      t.string  :positionable_type
      t.timestamps
    end
  end
end

然后在其他每个模型上添加:

class Facility < ActiveRecord::Base
  has_one :position, as: :positionable
  # ...
end
于 2012-05-10T03:57:03.137 回答