RailsのActiveRecordを使って次のようにすることでSTI(Single Table Inheritance: 単一継承テーブル)を行うことができます。 テーブルにtype(string)カラムを持たせる そのテーブルに対応するモデルクラスを継承したクラスを作成する 例えば、本(Book)とコンピューター(Computer)の商品を扱っており、一部カラムが同じで一部カラムが違うので、次のように1つのテーブルを使い、3つのモデルを作成することで、Rails側でbooksテーブルとcomputersテーブルが存在しているようにBookオブジェクトとComputerオブジェクトを扱うことができるようになります。 これにより、 Product.all # => Book, Computerモデルを含めたすべてレコードをproductsテーブルから取得 Computer.all # =>