私はレールモデル3.2.3と100以上のモデルを使用しています。ディレクトリapp/modelsがあまりにも混雑しているということです。私はいくつかのグループにディレクトリを編成し、autoload_paths(新しいサブディレクトリ用)を追加しました。私はモデルがネームスペースを使うことを望んでいません。なぜなら、ネームスペースがいくつかの名前空間になり、開発には向いていないからです。 さんが言ってみましょう:私のレールコンソールで名前空間のアクティブレコードモデルを避けるには?
# app/models/listing.rb
class Listing < ActiveRecord::Base
has_many :communications
end
# app/models/listing/communication.rb
class Communication < ActiveRecord::Base
end
、それはActiveRecordの団体を除き、絶対参照との任意のモデルで動作します。私はList.first.com通信を呼び出すことはできません。私はそれがList :: Communicationをロードしようとしているのを見て、このファイルの内容がCommunication(ネームスペースなし)であるために失敗しました。
LoadError: Expected /home/chamnap/my_app/app/models/listing/communication.rb to define Listing::Communication
ディレクトリにグループ化モデルへの道と名前空間なしでそれらを使用はありますか?あるいは、すべてのモデルをあらかじめロードして、Railsがモデルをその場でロードしないようにする方法がありますか?
ああ、ありがとう。私はactiverecordをチェックし、(compute_typeを使って)どのようにアソシエーションをロードするのかを見ていますが、これを忘れてしまいました。私はいくつかのブログを見て、それはデフォルトの動作だと言います。 – Chamnap