ActiveRecord以外のORマッパーはどうなのかよく知らないのですが、Rails(というかActiveRecord)では、DB上の一つのテーブルを複数のモデルで共有する「単一テーブル継承(Single Table Inheritance)」というものが存在します。今日はこの単一テーブル継承についてちょっと紹介します。 ここでは種々のメッセージ機能を単一テーブル継承で実現する方法を例に、単一テーブル継承について紹介します。今回想定するメッセージ機能はSNSなんかでよく使われるであろう以下の3つです。 一般メッセージ:NormalMessage 招待メッセージ:InvitationMessage お問い合わせ:InquiryMessage それでは、すべてのモデルのデータ保存先となるMessageテーブルの定義から始めましょう。 まず単一テーブル継承をActiveRecordで使う為には