私は自分のケースを提示し、STIソリューションを使用する必要があるかどうかを知りたいです。
私は掲示板 Web サイトを作成していますが、これまでのところ、ユーザー、トピック、投稿などのモデルがいくつかあります。
明確にするために、投稿はトピックのコメントのようなものです。トピックにはタイトルとコンテンツがあります。投稿にはコンテンツしかありません。
これで、ユーザーは投稿またはトピックを好き/嫌いにするオプションを利用できるようになりました。次の 3 つのオプションを考えました。
- トピックと投稿にはつながりがありません (各モデルには「num_of_likes」、「num_of_dislikes」があります)
- トピックは投稿を継承します。
- Topic と Post は、たとえば LikeableObj と呼ばれる Base Model から継承します。
これら 3 つのオプションのうち、私のニーズに最も適しているのはどれですか?
私が考えていなかった4番目のオプションはありますか? 将来、 Like
できる 3 番目のモデルを作成したい場合はどうすればよいですか?