libディレクトリにクラスDbCacheを定義するlib\db_cache.rbというクラスがあります。
私のRailsモデルは、開発モードのとき、および本番モードでRailsコンソールを実行しているときにもアクセスできます。
しかし、本番モードのRailsサーバーを実行すると、モデルクラス(Fooなど)が「初期化されていない定数」Foo::DbCacheについて文句を言います。
org/jruby/RubyModule.java:2677:in `const_missing',
org/jruby/RubyMethod.java:134:in `call'
この行はapplication.rbにあります
config.autoload_paths += %W(#{Rails.root}/lib)
リンクされたSOの質問に示されている他のバリエーションも試しましたが、喜びはありません。
Linuxでjruby1.7.3(1.9.3p385)-Java1.7.0_13-b20を使用しています。Railsはバージョン3.2.12です。
私はこれらの質問Railsを見てきました-なぜRAILS_ROOT/lib内のモデルが本番モードで利用できないのですか?Rails 3のlibフォルダーからモジュール/クラスをロードする最良の方法は?しかし、それは私の場合には役立たないようです。
これに関するアイデアを事前に感謝します。
PS今のところ私の回避策は、モデルクラスに「db_cache」を要求することです:(