4

ここで何が悪いのか理解できません。Deviseのセットアップ手順に従い、私が考えることができるすべてをグーグルで検索しましたが、それでも運はありません。

undefined method `email' for #<User id: nil, created_at: nil, updated_at: nil>
Extracted source (around line #7):

4:   <%= devise_error_messages! %>
5: 
6:   <div><%= f.label :email %><br />
7:   <%= f.email_field :email %></div>
8: 
9:   <div><%= f.label :password %><br />
10:   <%= f.password_field :password %></div>

これが私のユーザーモデルです:

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

  # Setup accessible (or protected) attributes for your model
  attr_accessible :email, :password, :password_confirmation, :remember_me

  validates_presence_of :email
  validates_uniqueness_of :email, :case_sensitive => false

end

rake db:migrateを実行し、サーバーをリセットしました。それでも私がどこで間違っているのか理解できません。同じ設定の別の基本的なアプリもあります。ソースをくまなく調べて、すべてが正しく行われたように見えますが、問題がわかりません。

4

3 に答える 3

3

email基本的に、エラーは、ユーザーモデルに列(またはattr_accessor)がないことを意味します。

Devise <2.0を使用していて、現在は最新バージョンを使用していると思います。

2.0以降、Deviseはモデルに列を自動的に含めなくなりました。詳細については、このページを参照してください

于 2012-09-15T21:24:22.910 に答える
0

ユーザーモデルのattr_accessorとしてメール列に言及

于 2012-09-16T16:46:24.710 に答える