启动Rails应用程序时发生Passenger Phusion错误

启动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