Heroku [ПРЕДУПРЕЖДЕНИЕ] Вы указали devise_for: users, но в вашем приложении не определена модель User - PullRequest
1 голос
/ 29 июля 2011

У меня есть приложение rails 3 (3.0.9), работающее на ruby ​​1.8.7, а на моем компьютере работает gem devise (1.4.2).

Я попытался нажать его на heroku, и я получил следующее сообщение об ошибке при загрузке приложения:

[WARNING] You provided devise_for :users but there is no model User defined in your application
=> Booting WEBrick
=> Rails 3.0.9 application starting in production on http://0.0.0.0:43292
=> Call with -d to detach
=> Ctrl-C to shutdown server
Exiting
/app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/inflector/methods.rb:124:in `block in constantize': uninitialized constant User (NameError)
    from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/inflector/methods.rb:123:in `each'
    from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/inflector/methods.rb:123:in `constantize'
    from /app/vendor/bundle/ruby/1.9.1/gems/devise-1.4.2/lib/devise/mapping.rb:84:in `to'
    from /app/vendor/bundle/ruby/1.9.1/gems/devise-1.4.2/lib/devise/mapping.rb:79:in `modules'
    from /app/vendor/bundle/ruby/1.9.1/gems/devise-1.4.2/lib/devise/mapping.rb:88:in `strategies'
    from /app/vendor/bundle/ruby/1.9.1/gems/devise-1.4.2/lib/devise.rb:410:in `block in configure_warden!'
    from /app/vendor/bundle/ruby/1.9.1/gems/devise-1.4.2/lib/devise.rb:409:in `each_value'
    from /app/vendor/bundle/ruby/1.9.1/gems/devise-1.4.2/lib/devise.rb:409:in `configure_warden!'

Проблема исходит от устройства, но я не знаю, как ее исправить. Моя модель User правильно определена, и она работает на моем компьютере ... Кто-нибудь знает как это исправить?

Спасибо за помощь

Ответы [ 2 ]

2 голосов
/ 29 июля 2011

Убедитесь, что у вас есть:

class User < ActiveRecord::Base

Определено в верхней части вашей модели пользователя / устройства.

Также убедитесь, что вы запустили миграцию.

В консоли.

1 голос
/ 29 июля 2011

Проверьте в своем users.rb, чтобы убедиться, что вы правильно написали ': database_authenticable', похоже, это общая проблема с этой ошибкой.

class User < ActiveRecord::Base
  devise :database_authenticable, :recoverable,
    :rememberable, :trackable, :validatable
  # Setup accessible (or protected) attributes for your model
  attr_accessible :email, :password, :password_confirmation, :remember_me
end

Кроме того, я предлагаю вам посмотреть здесь, чтобы увидеть, как эти люди исправили ошибку. http://groups.google.com/group/plataformatec-devise/browse_thread/thread/807f4c6e3475622f

...