gpt4 book ai didi

ruby-on-rails - 使用 Devise 时未定义的方法 confirmed_at

转载 作者:数据小太阳 更新时间:2023-10-29 08:15:43 24 4
gpt4 key购买 nike

尝试使用 Devise 的 :confirmable 模块时出现以下错误:

NameError (undefined local variable or method `confirmed_at' for #<AdminUser:0x007f27841d0f30>)

我的模型:

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

after_create { |admin| admin.send_reset_password_instructions }
def password_required?
new_record? ? false : super
end
end

我想在创建 AdminUser 时发送一封确认邮件。

最佳答案

仅在模型中添加 :confirmable 选项是不够的,您还需要将 Devise 所需的列添加到您的数据库表中。

假设您使用的是模型AdminUser:

class AddConfirmableToDevise < ActiveRecord::Migration
def self.up
add_column :admin_users, :confirmation_token, :string
add_column :admin_users, :confirmed_at, :datetime
add_column :admin_users, :confirmation_sent_at, :datetime
add_column :admin_users, :unconfirmed_email, :string

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

def self.down
remove_index :admin_users, :confirmation_token

remove_column :admin_users, :unconfirmed_email
remove_column :admin_users, :confirmation_sent_at
remove_column :admin_users, :confirmed_at
remove_column :admin_users, :confirmation_token
end
end

关于ruby-on-rails - 使用 Devise 时未定义的方法 confirmed_at,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33432841/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com