我在Rails中编写自己的用户身份验证系统,我正在尝试简化注册过程。我只希望新用户在注册时提供电子邮件,然后通过电子邮件将密码发送给他们,但使用has_secure_password
我被告知密码不能为空
我想在注册时创建一个随机密码,通过电子邮件发送给他们,以便将来可以访问他们的帐户,但我怎样才能注入"验证前的密码。
我想这样做的地方是用户模型中的before_create
,但是对此的任何建议/代码示例都会非常感激。
目前我有这个但仍然无法获得密码消息。
#user.rb
has_secure_password
before_create :set_temporary_password
def set_temporary_password
self.password = SecureRandom.hex(5)
self.password_confirmation = self.password
#email the password or better still, a link to create a password
end
答案 0 :(得分:0)
添加到before_validation
应该可行,请在此处查看回调生命周期:
http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html