簡體   English   中英

ruby on rails + heroku + mongoid + devise = uninitialized constant User(NameError)

[英]ruby on rails + heroku + mongoid + devise = uninitialized constant User (NameError)

將應用程序部署到Heroku時出現錯誤。 在尋找解決方案的3天后,它看起來像一個常見的錯誤,但我還沒有找到解決方案。 我的應用程序在運行的計算機上運行得很好:

  • 帶有紅寶石的Mac OSX 10.7.3
  • ruby ruby​​ 1.9.2p320(2012-04-20修訂版35421)[x86_64-darwin11.3.0]
  • rubygem 1.3.7.1(也用1.8.24測試)

我的Heroky應用程序在帶有插件的雪松堆棧上:MongoHQ MongoHQ免費,共享數據庫5MB。

  • heroku運行gem --version給出:1.3.7
  • heroku run ruby​​ --version給出:ruby 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和mongohq和設計。 我相信這來自於設計,因為我在我的用戶模型上使用它。 請注意,我的app / models / User.rb文件已提交,並且我的應用程序中的用戶和用戶之間沒有拼寫錯誤。 我在config / application.rb文件中不需要“active_record / railtie”,因為我正在使用mongoid。 因此我的User模型沒有擴展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

解決方案:如果您的用戶模型位於app/model/User.rb則將此文件重命名為app/model/user.rb以使該文件為小寫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM