我使用的是Rails3,可能有重复的here。但它没有解决我的问题,其他任何解决方案也没有。
我的迁移过程如下
class AddConfirmableToDevise < ActiveRecord::Migration
def change
change_table(:users) do |t|
t.confirmable
end
add_index :users, :confirmation_token, :unique => true
end
end
我在User
模型中添加了devise :confirmable
。
我的rake db:migrate
没有输出。我的注册页面显示错误:
undefined local variable or method 'confirmed_at' for #User
有谁有线索吗?
发布于 2012-02-02 15:32:10
好的。我解决了。迁移已经过时了。使用相同的代码但不同的名称生成新的迁移。
1.运行命令:
rails g migration add_confirmable_to_devise_v1
2.在迁移文件中:
class AddConfirmableToDeviseV1 < ActiveRecord::Migration
def change
change_table(:users) do |t|
t.confirmable
end
add_index :users, :confirmation_token, :unique => true
end
end
3.Then
rake db:migrate
发布于 2013-01-16 03:55:01
在最新的devise版本中,您只需从devise用户迁移的以下几行中删除注释。(2013....._devise_create_users.rb)
# Confirmable
t.string :confirmation_token
t.datetime :confirmed_at
t.datetime :confirmation_sent_at
t.string :unconfirmed_email # Only if using reconfirmable
发布于 2012-11-20 22:19:53
给我自己写个便条。有些人可能会发现它很有用:我们需要的是下面的两个命令:
rake db:migrate:reset
rake db:reset
瞧!它起作用了!
https://stackoverflow.com/questions/9108460
复制相似问题