最近Rails でSTI を使う機会があったのですが、幾つかハマるポイントがありました。 1. 親クラスを継承したクラスが読み込まれない 継承した子クラスのモデルを親クラスと同じファイルにまとめていると、エラーになる場合があります。 # app/models/user.rb class User < ActiveRecord::Base end class Admin < User end class Guest < User end # rails console で実行 irb(main):001:0> Admin.all NameError: uninitialized constant Admin この問題はRails の自動読み込みの仕組みに関連して起こるようです。 Rails の自動読み込みの話 読み込みされていないクラス/モジュールがあった場合、名前から読み込みするファイルを
![Rails: STI(Single Table Inheritance)でハマったところ|TechRacho by BPS株式会社](https://cdn-ak-scissors.b.st-hatena.com/image/square/bd987619385f6a5a8cb7a352c74a583c1605d218/height=288;version=1;width=512/https%3A%2F%2Ftechracho.bpsinc.jp%2Fwp-content%2Fuploads%2F2013%2F04%2Frails.png)