[英]Rails: Customize Devise Confirmable module?
我有我的Rails应用程序设置与Devise ,但它仍处于开发阶段。 我还有一个Thor任务,可以创建默认的Admin用户。
问题是在确认帐户之前,Devise不会让该管理员用户登录该站点。 有没有办法可以禁用可确认模块来创建特定用户,例如Admin?
我的托尔任务:
class Setup < Thor
desc "create_admin [EMAIL] [PASSWORD]", "Creates the administrative user."
def create_admin(email = "admin@bogus.com", password = "testpassword123")
require File.expand_path('config/environment.rb') # load Rails environment
admin = User.create(:email => email, :password => password, :password_confirmation => password)
admin.assign_role :admin
puts "Admin user (#{ email }) created."
end
end
创建用户后,您可以致电设备确认! 方法而不是直接更新数据库。 例如。:
admin = User.create(:email => email, :password => password, :password_confirmation => password)
admin.assign_role :admin
admin.confirm!
这应该工作
admin = User.create(:email => email, :password => password, :password_confirmation => password)
因此,您的confirmed_at已设置,这是在检查用户确认时所指的字段设计。
编辑
原谅我,如果这看起来像一个黑客,但这似乎对我有用。 执行上述行后,
admin.update_attributes(:confirmed_at => Time.now)
只是注释:confirmable
在用户或管理员模型中:confirmable
devise :database_authenticatable, :recoverable, :rememberable, :trackable, #:confirmable...
在config / inicializers / devise.rb中,您可以在此设置用户必须确认其帐户的时间
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.