user985723
user985723

Reputation: 628

Passenger Phusion error when starting up Rails App

Last night I worked a lot on my webapp and went to bed with it working. Today I woke up and tried to access the webpage from a different computer and encountered the following problem:

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   

Contents of setup_mail.rb

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

}

Can someone tell me how to go about troubleshooting this issue? When I make a change to any files do I need to restart passenger or nginx or my rails app? The error message is too cryptic to know where to look for the problem. Thank you for your help! :)

Upvotes: 0

Views: 269

Answers (1)

Zach Kemp
Zach Kemp

Reputation: 11904

You are trying to access your application's configuration object outside the proper context. Try wrapping your code like this:

AppName::Application.configure do
  config.action_mailer.delivery_method = :smtp
  # etc ...
end

Or replace each config with AppName::Application.config.

Upvotes: 1

Related Questions