Railsでフォルダ(モジュール)下に配置したモデルのロードに失敗することがあるRailsでクラス数が増えてくるとフォルダ分けしたくなることがあります。その場合、Javaのパッケージと同じように、モデルをフォルダ分けして、モジュール下に宣言してやることになります。以下のような感じです。ActiveRecord::Baseendところが、belongs_toとかhas_manyとかの関連を解決する際に、以下のようなエラーが出て手がつけられなくなることがあります。`image'<<中略>>Railsのソースコードを追った感じでは、load_missing_constantメソッドの中でModuleName.const_defined?(ModelName)していて、これtrueを返すと、上記の例外を投げます。嫌なにおいがぷんぷんとするのですが、あまり深追いしないようにします。この現象、モデルやコントローラの中で、「ModelName」で呼び出していると発生するのですが、「ModuleName::ModelName」と書いてやると発生しなくなります。再現するわけでもないようで、結構長いこと私はこの現象が発生していることに気づきませんでした。はまったのが、本現象は、単一テーブル継承でtypeにモジュール名無しのモデル名を書き込んでしまっても発生することです。本現象はRails2.1.2で発生していますが2.3.2でも発生しているっぽいです。この問題で2時間くらい悩んでしまった。