Phusion 乘客失败:未初始化的常量 Object::Rails

Phusion 乘客失败:未初始化的常量 Object::Rails

我正在使用 capistrano/passenger/nginx 部署我的应用程序。部署进展顺利。但是,当我尝试加载它时,应用程序崩溃了:

错误消息:未初始化常量 Object::Rails

回溯的最后一行是:

/opt/app/releases/20101208120133/system/config/environment.rb   1   in `'

这对应于以下内容:

require "#{Rails.root}/lib/formats.rb"

但是,如果我在服务器上输入 rails 控制台,它就能很好地检测到 Rails.root。我正在运行 rails 3.0.3(尽管它也不适用于 3.0.0)。

答案1

我很惊讶地看到堆栈跟踪表明environment.rb位于system/config/。您是否已将其符号链接到current/config/environment.rb

答案2

我遇到了同样的问题,我不得不使用 File.expand_path 来代替。

File.expand_path('/lib/formats.rb')

我对此的最佳猜测是,因为 environment.rb 是首先加载的内容之一,所以乘客可能在了解 Rails 对象或其他内容之前就查看了它。这没有多大意义……也许我错了 :) 但这个解决方法似乎有效。

相关内容