未定义的方法`确认'

时间:2013-04-14 06:49:45

标签: ruby-on-rails gem data-migration devise-confirmable

运行rake db:migrate时出现以下错误:

undefined method `confirmable' for #<ActiveRecord::ConnectionAdapters::Table:0x6d448e8>
c:/java/RubyProjects/myproject/db/migrate/20111202225103_make_user_confirmable.rb:4:in `block in change'
c:/java/RubyProjects/myproject/db/migrate/20111202225103_make_user_confirmable.rb:3:in `change'
c:in `migrate'
Tasks: TOP => db:migrate

user.rb:

class User < ActiveRecord::Base

  devise :database_authenticatable, :registerable, 
         :recoverable, :rememberable, :trackable, :validatable

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

  # Include default devise modules. Others available are:
  # :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable, :confirmable

  ...

end

20111202225103_make_user_confirmable.rb:

class MakeUserConfirmable < ActiveRecord::Migration
  def change
    change_table(:users) do |t|
      t.confirmable
    end

    add_index :users, :confirmation_token,   :unique => true
  end
end

不确定还有什么要做......

请帮忙。

1 个答案:

答案 0 :(得分:3)

<强>编辑:
How To: Add :confirmable to Users

P.S。
rails迁移中没有such type confirmable,因此迁移失败 但是,如果您仍想将confirmable列添加到用户表:

class MakeUserConfirmable < ActiveRecord::Migration
  def change
    change_table(:users) do |t|
      t.boolean :confirmable, :default => false
    end
  end
end