私はいくつかのモデルを持っています (記事、ビデオ、写真)
今、私は related_to 関連付けを作成しようとしています。
記事には、それに関連する他の多くの記事、ビデオ、および写真を含めることができます。ビデオや写真も同様です。
私が試したことは次のとおりです。
モジュール ActsAsRelatable
def self.included(base)
base.extend(ClassMethods)
end
module ClassMethods
def acts_as_relatable
has_many :related_items, :as => :related
has_many :source_items, :as => :source, :class_name => 'RelatedItem'
end
end
終わり
class RelatedItem < ActiveRecord::Base 所属先 :source, :polymorphic => true 所属先 :related, :polymorphic => true end
次に、acts_as_relatable を 3 つのモデル (Article、Video、Photo) に追加し、モジュールを ActiveRecord::Base に含めました。
./script/console で試してみると、関連アイテムが追加され、ID が正しく機能しますが、source_type と related_type は常に同じです (related_items が呼び出されたオブジェクト) related_item を他のモデル名にしたいです。
アイデアはありますか?