启动Rails应用程序时发生Passenger Phusion错误
问题描述:
昨晚我在webapp上工作了很多,并且在工作中睡觉。今天,我醒了,并试图从不同的计算机访问该网页,并遇到了以下问题:为setup_mail.rb的启动Rails应用程序时发生Passenger Phusion错误
Ruby (Rack) application could not be started
Error message:
undefined local variable or method `config' for main:Object
Exception class:
NameError
Backtrace:
# File Line Location
0 /var/www/myapp/config/initializers/setup_mail.rb 1
1 /var/lib/gems/1.8/gems/activesupport-3.2.11/lib/active_support/dependencies.rb 245 in `load'
2 /var/lib/gems/1.8/gems/activesupport-3.2.11/lib/active_support/dependencies.rb 245 in `load'
3 /var/lib/gems/1.8/gems/activesupport-3.2.11/lib/active_support/dependencies.rb 236 in `load_dependency'
4 /var/lib/gems/1.8/gems/activesupport-3.2.11/lib/active_support/dependencies.rb 245 in `load'
5 /var/lib/gems/1.8/gems/railties-3.2.11/lib/rails/engine.rb 588
6 /var/lib/gems/1.8/gems/railties-3.2.11/lib/rails/engine.rb 587 in `each'
7 /var/lib/gems/1.8/gems/railties-3.2.11/lib/rails/engine.rb 587
8 /var/lib/gems/1.8/gems/railties-3.2.11/lib/rails/initializable.rb 30 in `instance_exec'
9 /var/lib/gems/1.8/gems/railties-3.2.11/lib/rails/initializable.rb 30 in `run'
10 /var/lib/gems/1.8/gems/railties-3.2.11/lib/rails/initializable.rb 55 in `run_initializers'
11 /var/lib/gems/1.8/gems/railties-3.2.11/lib/rails/initializable.rb 54 in `each'
12 /var/lib/gems/1.8/gems/railties-3.2.11/lib/rails/initializable.rb 54 in `run_initializers'
13 /var/lib/gems/1.8/gems/railties-3.2.11/lib/rails/application.rb 136 in `initialize!'
14 /var/lib/gems/1.8/gems/railties-3.2.11/lib/rails/railtie/configurable.rb 30 in `send'
15 /var/lib/gems/1.8/gems/railties-3.2.11/lib/rails/railtie/configurable.rb 30 in `method_missing'
16 /var/www/myapp/config/environment.rb 5
17 config.ru 3 in `require'
18 config.ru 3
19 /var/lib/gems/1.8/gems/rack-1.4.5/lib/rack/builder.rb 51 in `instance_eval'
20 /var/lib/gems/1.8/gems/rack-1.4.5/lib/rack/builder.rb 51 in `initialize'
21 config.ru 1 in `new'
22 config.ru 1
内容
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => "localhost",
:port => 25,
:domain => 'mydomain.com',
:openssl_verify_mode => 'none',
:tls => false,
:enable_starttls_auto => false
}
谁能告诉我如何去解决此问题?当我对任何文件进行更改时,是否需要重新启动passenger或nginx或我的rails应用程序?错误消息太隐秘,无法知道在哪里寻找问题。 谢谢你的帮助! :)
答
您正试图访问您的应用程序的配置对象超出正确的上下文。尝试包装你这样的代码:
AppName::Application.configure do
config.action_mailer.delivery_method = :smtp
# etc ...
end
或用AppName::Application.config
替换每个config
。