7

act_as_listモデルを1つずつ使用することができましたが(非常に簡単でした)、問題が発生しました。

私のアプリには、、、の3つのモデルがFacilityありServiceますActivity。私はacts_as_list彼らの組合で使う必要があります...それは可能ですか?

私の質問が明確であることを願っています

4

1 に答える 1

5

多態的な関連付けを持つ 4 番目のモデルを使用し、その上にリストを配置する必要があります。

まず、これを理解するためにポリモーフィック アソシエーションを読んでください: 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 に答える