2013-07-20 78 views
0

我有一個成功建立我的本地系統上的應用程序,但在部署到Heroku上,或與rails server -e production產量運行:Rails應用程序崩潰時config.eager_load =真

=> Rails 4.0.0 application starting in production on http://0.0.0.0:3000 
=> Run `rails server -h` for more startup options 
=> Ctrl-C to shutdown server 
Exiting 
/home/nmradar/Documents/old-manager/app/controllers/registrations_controller.rb:2:in `<top (required)>': uninitialized constant Users (NameError) 
from /home/nmradar/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/engine.rb:465:in `block (2 levels) in eager_load!' 
from /home/nmradar/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/engine.rb:464:in `each' 
from /home/nmradar/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/engine.rb:464:in `block in eager_load!' 
from /home/nmradar/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/engine.rb:462:in `each' 
from /home/nmradar/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/engine.rb:462:in `eager_load!' 
from /home/nmradar/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/engine.rb:347:in `eager_load!' 
from /home/nmradar/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/application/finisher.rb:56:in `each' 
from /home/nmradar/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/application/finisher.rb:56:in `block in <module:Finisher>' 
from /home/nmradar/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/initializable.rb:30:in `instance_exec' 
from /home/nmradar/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/initializable.rb:30:in `run' 
from /home/nmradar/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/initializable.rb:55:in `block in run_initializers' 
from /home/nmradar/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:150:in `block in tsort_each' 
from /home/nmradar/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:183:in `block (2 levels) in each_strongly_connected_component' 
from /home/nmradar/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:219:in `each_strongly_connected_component_from' 
from /home/nmradar/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:182:in `block in each_strongly_connected_component' 
from /home/nmradar/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:180:in `each' 
from /home/nmradar/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:180:in `each_strongly_connected_component' 
from /home/nmradar/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/tsort.rb:148:in `tsort_each' 
from /home/nmradar/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/initializable.rb:54:in `run_initializers' 
from /home/nmradar/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/application.rb:215:in `initialize!' 
from /home/nmradar/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/railtie/configurable.rb:30:in `method_missing' 
from /home/nmradar/Documents/old-manager/config/environment.rb:5:in `<top (required)>' 
from /home/nmradar/Documents/old-manager/config.ru:3:in `block in <main>' 
from /home/nmradar/.rvm/gems/ruby-2.0.0-p247/gems/rack-1.5.2/lib/rack/builder.rb:55:in `instance_eval' 
from /home/nmradar/.rvm/gems/ruby-2.0.0-p247/gems/rack-1.5.2/lib/rack/builder.rb:55:in `initialize' 
from /home/nmradar/Documents/old-manager/config.ru:in `new' 
from /home/nmradar/Documents/old-manager/config.ru:in `<main>' 
from /home/nmradar/.rvm/gems/ruby-2.0.0-p247/gems/rack-1.5.2/lib/rack/builder.rb:49:in `eval' 
from /home/nmradar/.rvm/gems/ruby-2.0.0-p247/gems/rack-1.5.2/lib/rack/builder.rb:49:in `new_from_string' 
from /home/nmradar/.rvm/gems/ruby-2.0.0-p247/gems/rack-1.5.2/lib/rack/builder.rb:40:in `parse_file' 
from /home/nmradar/.rvm/gems/ruby-2.0.0-p247/gems/rack-1.5.2/lib/rack/server.rb:277:in `build_app_and_options_from_config' 
from /home/nmradar/.rvm/gems/ruby-2.0.0-p247/gems/rack-1.5.2/lib/rack/server.rb:199:in `app' 
from /home/nmradar/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/commands/server.rb:48:in `app' 
from /home/nmradar/.rvm/gems/ruby-2.0.0-p247/gems/rack-1.5.2/lib/rack/server.rb:314:in `wrapped_app' 
from /home/nmradar/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/commands/server.rb:75:in `start' 
from /home/nmradar/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/commands.rb:78:in `block in <top (required)>' 
from /home/nmradar/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/commands.rb:73:in `tap' 
from /home/nmradar/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/commands.rb:73:in `<top (required)>' 
from bin/rails:4:in `require' 
from bin/rails:4:in `<main>' 

我的environment.rb是

# Load the Rails application. 
require File.expand_path('../application', __FILE__) 

# Initialize the Rails application. 
OldManager::Application.initialize! 

而且registrations_controller.rb是

# controllers/users/registrations_controller.rb 
class Users::RegistrationsController < Devise::RegistrationsController 

before_filter :configure_permitted_parameters 

protected 

# my custom fields are :name 
devise_parameter_sanitizer.for(:sign_up) do |u| 
u.permit(:name, :major, :email, :password, :password_confirmation) 
end 
devise_parameter_sanitizer.for(:account_update) do |u| 
u.permit(:name, :email, :password, :password_confirmation, :current_password) 
end 

end 

如果我切換config.eager_load = trueconfig.eager_load = false在我的config/environment/production.rb中,我可以成功啓動服務器並使用我的應用程序。我認爲eager_load是生產環境的理想功能,否則默認情況下不啓用。那麼我需要做些什麼才能允許我的應用程序在啓用eager_load的情況下運行,或者如何瞭解更多關於它爲什麼導致我的服務器崩潰的信息?如果需要其他文件來解決這個問題,請告訴我。

我正在運行Rails 4和Ruby 2.0.0。

感謝您的任何建議!

+0

你甚至閱讀的錯誤信息?急切的加載不是問題。 –

+0

您是否得到了修復@ user1483188,當我使eager_load = true時出現同樣的問題我的服務器崩潰時發生了一個錯誤(而不是您提到的錯誤,我得到了不同的錯誤),我只能在虛假時運行服務器。如果您修復了此錯誤,請讓我知道 – ratnakar

回答

0

的錯誤是:

未初始化的常數用戶(NameError)

拿上你的控制器的聲明一下..

+0

您是否爲此問題找到了解決方法? – kauschan