undefined method 'devise' for User

Ich habe versucht, mich mit dem Gerät und seiner Funktionsweise auseinanderzusetzen, und bin auf die erste Hürde gefallen. Ich habe an einigen Stellen nachgesehen, kann aber anscheinend niemanden mit diesem Fehler genau finden.

Daher habe ich einen einfachen Home-Controller mit einer Indexansicht erstellt und den Stammindex 'home # index' hinzugefügt. Außerdem habe ich sichergestellt, dass die Standard-URL-Optionen in der Datei development.rb eingerichtet sind. Ich habe dann einfach getippt:

rails generate devise User

Dadurch wurde meine user.rb-Datei in Modellen mit den folgenden Eigenschaften erstellt:

class User < ActiveRecord::Base
  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable
end

Bis jetzt ziemlich einfach, ich habe das folgende Gemfile:

source 'https://rubygems.org'
gem 'rails', '4.0.5'
gem 'sqlite3'
gem 'sass-rails', '~> 4.0.2'
gem 'devise'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 1.2'
group :doc do
  gem 'sdoc', require: false
end
gem 'bcrypt'

Und wenn ich entweder rake db: migrate laufen lasse, erhalte ich den folgenden Fehler:

rake aborted!
NoMethodError: undefined method `devise' for User (call 'User.connection' to establish a connection):Class
/home/jonlee/.rvm/gems/ruby-2.1.1@railstutorial_rails_4_0/gems/activerecord-4.0.5/lib/active_record/dynamic_matchers.rb:22:in `method_missing'
/home/jonlee/Projects/rails/userauth/app/models/user.rb:4:in `<class:User>'
/home/jonlee/Projects/rails/userauth/app/models/user.rb:1:in `<top (required)>'

Ich bin ratlos darüber, warum das Benutzermodell die Methode 'devise' nicht finden kann, wenn ich sehe, dass sie definitiv vorhanden ist.

Ich erhalte ähnliche Fehler bei Rake-Routen, Rails-Server und Rails-Konsole.

Für weitere Informationen verwende ich Ruby 2.1.1, wenn das hilft?

Antworten auf die Frage(10)

Ihre Antwort auf die Frage