2012-05-25 82 views
1

我在将应用程序部署到Heroku时出现错误。在寻找3天解决方案后,它会像常见错误一样接缝,但我还没有找到解决方案。我的应用程序运行的运行我的电脑上完美的罚款:ruby​​ on rails + heroku + mongoid + devise =未初始化的常量User(NameError)

  • 的Mac OSX 10.7.3红宝石
  • 红宝石红宝石1.9.2p320(2012-04-20修订35421)x86_64的-darwin11.3.0]
  • ruby​​gem 1.3.7.1(也与1.8.24测试)

我Heroky的应用程序是与插件雪松堆栈:MongoHQ MongoHQ免费的,共享数据库5MB。

  • heroku上运行宝石--version给出:1.3.7
  • heroku上运行红宝石--version给出:红宝石1.9.2p290(2011-07-09的修订32553)[x86_64的Linux的]

,当我推Heroky我的应用程序我得到的错误是:

lib/active_support/inflector/methods.rb:229:in `block in constantize': uninitialized constant User (NameError) 

的更多信息:我使用mongoid以m ongohq和设计。我相信这是来自设计,因为我在我的用户模型上使用它。请注意,我的应用程序/模型/ User.rb文件已提交,并且用户和用户之间没有拼写错误。我不需要在我的config/application.rb文件中使用“active_record/railtie”,因为我使用的是mongoid。因此,我的用户模型没有扩展ActiveRecord :: Base,但这一定非常好。

我真的很希望有人能帮助我,因为我在这个问题上停留了太久,而我对Heroku完全陌生:)提前非常感谢!

这里是我的应用程序的Gemfile中:

source "http://rubygems.org" 

gem "rails", "3.2.3" 

gem "bundler" 

gem "rake", "0.9.2.2" 

group :production do 
    gem "thin", "~> 1.3" 
end 

# DATABASE 
gem "mongo", "~> 1.6" 
gem "bson_ext", "~> 1.6" 
gem "mongoid", "~> 2.4" 
gem "mongoid_token", "~> 1.0" 

# FORMS 
gem "dynamic_form", "~> 1.1" 

# FILE UPLOAD 
gem "mini_magick", "~> 3.4" 
gem "carrierwave", "~> 0.6" 
gem "carrierwave-mongoid", :require => "carrierwave/mongoid" 

# ASSETS 
# Gems used only for assets and not required 
# in production environments by default. 
group :assets do 
    gem "sass-rails", "~> 3.2" 
    gem "coffee-rails", "~> 3.2" 
    gem "uglifier",  "~> 1.2" 
end 

# JAVASCRIPT 
gem "jquery-rails", "~> 2.0" 

# PAGINATION 
gem "kaminari", "~> 0.13" 

# AUTHORISATION 
gem "devise", "~> 2.1" 
gem "cancan", "~> 1.6" 

这里是Heroku的日志:

2012-05-25T18:24:23+00:00 heroku[web.1]: State changed from created to starting 
2012-05-25T18:24:25+00:00 heroku[web.1]: Starting process with command `bundle exec thin start -R config.ru -e production -p 33048` 
2012-05-25T18:24:30+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5) 
2012-05-25T18:24:30+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5) 
2012-05-25T18:24:32+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/inflector/methods.rb:229:in `block in constantize': uninitialized constant User (NameError) 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/inflector/methods.rb:228:in `each' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/inflector/methods.rb:228:in `constantize' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/devise-2.1.0/lib/devise.rb:252:in `get' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/devise-2.1.0/lib/devise/mapping.rb:77:in `to' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/devise-2.1.0/lib/devise/mapping.rb:72:in `modules' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/devise-2.1.0/lib/devise/mapping.rb:89:in `routes' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/devise-2.1.0/lib/devise/mapping.rb:66:in `initialize' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/devise-2.1.0/lib/devise/mapping.rb:156:in `default_used_route' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/devise-2.1.0/lib/devise.rb:286:in `new' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/devise-2.1.0/lib/devise/rails/routes.rb:207:in `block in devise_for' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/devise-2.1.0/lib/devise/rails/routes.rb:206:in `each' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/devise-2.1.0/lib/devise.rb:286:in `add_mapping' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/devise-2.1.0/lib/devise/rails/routes.rb:206:in `devise_for' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/config/routes.rb:3:in `block in <top (required)>' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_dispatch/routing/route_set.rb:282:in `eval_block' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_dispatch/routing/route_set.rb:282:in `instance_exec' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/config/routes.rb:1:in `<top (required)>' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_dispatch/routing/route_set.rb:260:in `draw' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/application/routes_reloader.rb:40:in `block in load_paths' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/application/routes_reloader.rb:40:in `each' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/application/routes_reloader.rb:40:in `load_paths' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/application/routes_reloader.rb:16:in `reload!' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/devise-2.1.0/lib/devise/rails.rb:14:in `block in <class:Engine>' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/application.rb:108:in `reload_routes!' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/lazy_load_hooks.rb:34:in `call' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/lazy_load_hooks.rb:34:in `execute_hook' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/lazy_load_hooks.rb:42:in `each' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/lazy_load_hooks.rb:43:in `block in run_load_hooks' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/lazy_load_hooks.rb:42:in `run_load_hooks' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/application/finisher.rb:52:in `block in <module:Finisher>' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/initializable.rb:30:in `instance_exec' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/initializable.rb:30:in `run' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/initializable.rb:55:in `block in run_initializers' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/initializable.rb:54:in `run_initializers' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/initializable.rb:54:in `each' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/railtie/configurable.rb:30:in `method_missing' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/application.rb:136:in `initialize!' 
2012-05-25T18:24:32+00:00 app[web.1]: from config.ru:3:in `require' 
2012-05-25T18:24:32+00:00 app[web.1]: from config.ru:3:in `block in <main>' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/config/environment.rb:5:in `<top (required)>' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:51:in `instance_eval' 
2012-05-25T18:24:32+00:00 app[web.1]: from config.ru:1:in `new' 
2012-05-25T18:24:32+00:00 app[web.1]: from config.ru:1:in `<main>' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:51:in `initialize' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/thin-1.3.1/lib/rack/adapter/loader.rb:36:in `eval' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/thin-1.3.1/lib/thin/controllers/controller.rb:71:in `start' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/thin-1.3.1/lib/thin/controllers/controller.rb:181:in `load_rackup_config' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/thin-1.3.1/lib/rack/adapter/loader.rb:36:in `load' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/thin-1.3.1/lib/thin/runner.rb:151:in `run!' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/thin-1.3.1/bin/thin:6:in `<top (required)>' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/thin-1.3.1/lib/thin/runner.rb:185:in `run_command' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/bin/thin:19:in `load' 
2012-05-25T18:24:32+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/bin/thin:19:in `<main>' 
2012-05-25T18:24:33+00:00 heroku[web.1]: Process exited with status 1 
2012-05-25T18:24:33+00:00 heroku[web.1]: State changed from starting to crashed 

回答

3

解决方案:如果您的用户模型是app/model/User.rb然后重命名该文件app/model/user.rb如此该文件是小写。

+0

这个答案几乎是正确的,问题是'U'ser和'u'ser,而不是文件扩展名。将文件名更改为小写适用于我! – SeriousM

+0

这是一个更严重的问题。试图安装并为设计创建模型时出现此错误。 – 2012-12-07 08:30:44

+0

如果您在Mac OSX中开发项目,请注意文件名称。不喜欢Mac,linux文件名区分大小写。 – Dingle

相关问题