Как реализовать наследование класса -таблицы -в Rails?

Я только что закончил работу над книгой Agile Web Development with Rails , четвертое издание (http://pragprog.com/book/rails4/agile-web-development-with-rails)., и нужна помощь в понимании того, как создать родительские -дочерние отношения между моделями. Я немного погуглил и поковырялся здесь, в StackOverflow, и в целом узнал о наследовании одной таблицы и наследовании таблиц классов.

У меня есть куча метаданных о разных предметах в архивной коллекции. Большая часть метаданных одинакова для всех объектов, например инвентарный номер, название, описание, авторские права и т. д. В дополнение к общим метаданным существуют метаданные, которые применимы только к определенным типам элементов, например, фотографии должны храниться. отслеживать, является ли элемент цветным или черно-белым; звукозаписи необходимо отслеживать в формате (CD, DAT, кассетной ленте и т. д. )и продолжительности; текстовые материалы нужно следить за количеством страниц; и т. д.

       Class hierarchy

            Item
              |
  +-----------+------------+
  |           |            |
Photo   SoundRecording    Text

Поскольку у меня будет много тысяч записей, я исключил наследование одной таблицы как слишком неэффективное.Я понимаю идею наследования таблиц классов, представленную здесь :http://martinfowler.com/eaaCatalog/classTableInheritance.html. но я не понимаю, как бы я реализовал это в новом проекте Ruby on Rails. Реализую ли я наследование таблицы классов как полиморфную ассоциацию(http://guides.rubyonrails.org/association_basics.html#polymorphic-associations)или я на неправильном пути?

Спасибо.

14
задан Azolo 4 July 2012 в 04:39
поделиться