20 Rails Development No-Nosに関する Chad Fowler のブログ投稿を読んだところです。単一テーブルの継承について、彼は次のようにコメントしています。
クラス名を保持する「タイプ」と呼ばれる列のストレージは、何か怪しいことが起こっていることを示すかなり良い指標です。怪しいですが、必ずしも悪いわけではありません。ただし、それを使用するときはいつでも、それが正しい解決策であるかどうかを何度も自問する必要があると思います. STI やポリモーフィックな関連付けが多い場合、データベースは本来の性能を発揮できません。
私はブログアプリケーションを書いていますが、投稿に付けられるコメントと、訪問者が私に連絡したい場合に投稿できる連絡先メッセージに STI を使用することを検討しています。私のモデルは私のMessage
モデルを継承しComment
ます。どちらも共通の属性を共有しますMessage
が、追加のsubject
フィールドがあります。もう 1 つの共通点は、両方がスパム チェックのために Akismet に送信されることです。
チャドが提案するように、それが正しい解決策であるかどうかを何度も自問するのではなく、スタックオーバーフローの専門家からも意見を得ると思いました! 私が提案していることは、STI に適しているように聞こえますか?