STI に関する良い情報をいくつか見つけましたが、自分がやりたいことの例を見たことがありません。これは私が考えることができる最良の例です。2 つのエンティティを追跡できるようにしたいのですが、独自のテーブルは必要ありません。タイプを区別するだけで済みます (STI はこれを行うことができます) が、あるエンティティが別のエンティティに関連しているかどうか、またどのように関連しているかを知る必要もあります。例として本を使用します。単なる本である本もあれば、複数の本のコレクションである物理的な本もあります。
表:本
id | title | author_id | book_id
1, 'Fellowship of the Ring, 34, (NULL) # is a physical book
2, 'The Two Towers', 34, (NULL) # is a physical book
3, 'American Gods', 1, (NULL) # is a physical book
4, 'Complete Lord Of the Rings', 34, (NULL)
5, 'Fellowship of the Ring', 34, 4 # is collected within book id 4
6, 'The Two Towers', 34, 4 # is also collected within book id 4
etc.
したがって、すべての本について本を照会し、「book_id」によってそれらが互いにどのように関連しているかを理解したいと考えています。
これはRailsで可能ですか? もしそうなら、どのように実装するのが最善ですか?books モデルで「has_many :books」と言えますか? 彼らの落とし穴や懸念事項などはありますか?
前もって感謝します。