2012-05-25 4 views
1

Я получаю сообщение об ошибке при развертывании моего приложения в Heroku. После трехдневного поиска решения, это похоже на общую ошибку, но я пока не нашел решения. Мое приложение работает идеально на моем компьютере, который работает под управлением: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]
  • rubygem 1.3.7.1 (также протестированы с 1.8.24)

Мой Heroky приложение на стек кедрового с аддонами: MongoHQ MongoHQ Free, общей базы данных 5МБ.

  • 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 с т ongohq и изобретать. Я считаю, что это происходит от разработки, потому что я использую его в своей модели User. Обратите внимание, что мое приложение/models/User.rb-файл завершено и что в приложении не существует опечатки между пользователем и пользователями. Мне не требуется «active_record/railtie» в файле config/application.rb, потому что я использую 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 

ответ

3

Решение: если ваша модель пользователя в app/model/User.rb переименовать этот файл в app/model/user.rb так что файл имеет нижний регистр.

+0

Этот ответ почти правильный, проблема в том, что 'U' и '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' Изменение имени файла на нижний регистр работает для меня! – SeriousM

+0

Это более серьезная проблема. Я получаю эту ошибку при попытке установить и создать модель для разработки. –

+0

Если вы разрабатываете проект в Mac OSX, обратите внимание на имена файлов. Не нравится Mac, имена файлов Linux чувствительны к регистру. – Dingle

Смежные вопросы