我最近将我的rails应用程序从Thin迁移到Puma,托管在Heroku上。一切都在暂存环境中完美运行,但是当我部署到生产环境时,似乎没有加载任何模块或类。
应用程序启动并在生产时运行,但只要需要/lib
目录中的某个类,我就会收到NameError
(未初始化的常量)错误。
在我的application.rb
文件中,这是我加载lib文件的地方:
config.autoload_paths += Dir["#{config.root}/lib", "#{config.root}/lib/**/"]
运行Rails 3.1.1和Ruby 2.1.1
我无法理解为什么他们会加载分段而不是生产。任何帮助将不胜感激!
答案 0 :(得分:1)
尝试使用Rails.root
代替config.root
。
答案 1 :(得分:1)
您应该尝试将这些行添加到application.rb:
config.eager_load_paths << Rails.root.join('lib')
config.autoload_paths << Rails.root.join('lib')
对我有用