在非Devise控制器中生成reset_password_token

时间:2013-08-12 19:49:28

标签: ruby-on-rails ruby devise

我正在处理表单新控制器并使用电子邮件,我想自动向用户发送重置密码电子邮件。是否有某种Devise短代码我必须调用才能执行此操作?

1 个答案:

答案 0 :(得分:1)

假设您已设置Recoverable,则您的User模型应该有send_reset_password_instructions方法。要使用它,请在控制器中执行以下操作:

 user = User.find_by_email(params[:email])
 user.send_reset_password_instructions
 flash[:notice] = "Reset password instructions have been sent to #{user.email}."
 redirect_to whatever_path

有关此方法的更多信息,请参阅文档:http://rubydoc.info/github/plataformatec/devise/master/Devise/Models/Recoverable#send_reset_password_instructions-instance_method