私はモデルを持っていますSport。Cricket単一テーブルの継承を使用して、他に 2 つのモデルがFootballあるため、
class Cricket < Sport and class Football < Sport
これら 2 つのモデルを、モデル ディレクトリ内の sports というサブフォルダーに配置しました。タイプ列をに追加しSport、値をCricketまたはとして配置しましたFootball。適切なものは何でも。Cricket.newまた、 orを使用してオブジェクトを作成することもできましたFootball.new。
この構造は、Rails 3.2.6 まで正常に機能します。
しかし、Rails 3.2.11 では、サブフォルダー内のすべてのモデル ファイルをモジュール化する必要があります。したがって、現在は次のようになります。
module Sports
class Cricket < Sport
現在、レールはクラスCricketまたはFootball単独でロードできません。だから、Cricket.newまたはFootball.new動作しません。もしそうならSports::Cricket.new、タイプ列はクラス名でなければならないので、それは私にとって問題ですSports::Cricket。
単一テーブルの継承を機能させるには、Rails 3.2.11 で何をすべきですか? Sports::Cricketタイプ列のように値を入れたくありません。また、サブディレクトリ構造を削除したくありません。