Вопрос о Рельсах: belongs_to с STI - как я делаю это правильно?

Я играл с отношениями НТИ и belongs_to/ has_many и немного запутался.

У меня есть несколько вопросов, основанных на конфигурации модели, подобной

class Parental < ActiveRecord::Base
end

class Mother < Parental
    has_many :babies
end

class Father < Parental
    has_many :babies
end

class Baby < ActiveRecord::Base
    belongs_to :?????? 
end
  1. Что должно быть Baby belong_to?
  2. In условиях миграции, что я должен назвать/добавить для внешнего ключа на младенцы таблица?
  3. Мне было трудно исследовать это, есть ли окончательный источник Это объясняет это? Документы API, похоже, не попали ему по голове ИЛИ я пропустил это (что полностью возможно).

Моя первая мысль - добавить parental _ id к младенцам вместе с таким методом, как Baby # owner , который делает следующее:

  • Hits self.parental
  • Определяет тип родителя
  • Возвращает правильный тип родителя (может быть матерью, может быть отцом)

Спасибо!

12
задан Mario Zigliotto 17 September 2011 в 19:05
поделиться