我在lib目录下有一个db_cache.rb类文件,定义了DbCache类。
我的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)
我尝试了链接的其他变体,但没有成功。
我正在使用jruby 1.7.3 (1.9.3p385) - Java 1.7.0_13-b20,在linux上。Rails版本为3.2.12。
我看过这些问题Rails - why would a model inside RAILS_ROOT/lib not be available in production mode? 和 Best way to load module/class from lib folder in Rails 3?,但这似乎对我的情况没有帮助。
提前谢谢您对此的任何想法。
PS:目前我的临时解决方法是在我的模型类中要求 'db_cache' :(