書籍「アジャイルWeb開発とレール」第4版(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に示されているように、クラステーブル継承の概念を理解していますが、これを新しいRubyonRailsプロジェクトに実際に実装する方法について混乱しています。クラステーブル継承をポリモーフィックアソシエーション(http://guides.rubyonrails.org/association_basics.html#polymorphic-associations)として実装しますか、それとも間違った方向に進んでいますか?
ありがとうございました。