1

将我的应用程序部署到 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 应用程序位于带有插件的 cedar 堆栈上:MongoHQ MongoHQ Free,Shared Database 5MB。

  • heroku run gem --version给出:1.3.7
  • heroku run ruby​​ --version给出:ruby 1.9.2p290(2011-07-09 修订版 32553)[x86_64-linux]

当我在 Herky 上推送我的应用程序时遇到的错误是:

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

更多信息:我将 mongoid 与 mongohq 和设计一起使用。我相信这来自设计,因为我在我的用户模型上使用它。请注意,我的 app/models/User.rb 文件已提交,并且我的应用程序中的 User 和 Users 之间没有拼写错误。我的 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
4

1 回答 1

3

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

于 2012-05-28T02:18:13.410 回答