У меня есть ряд моделей (статья, видео, фото)
Теперь я пытаюсь создать ассоциацию 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 true
принадлежат: родственные,: полиморфные => правда
конец
Затем я добавил act_as_relatable к моим трем моделям (Статья, Видео, Фото) и включил модуль в ActiveRecord :: Base
При попытке в ./script/console я получаю добавление связанных элементов, и идентификаторы работают корректно, однако source_type и related_type всегда одинаковы (объект, из которого вызывается related_items). Я хочу, чтобы related_item был другим название модели.
Есть идеи у кого-нибудь?