如何使用设计手动创建重置密码令牌

时间:2013-10-23 06:32:58

标签: ruby-on-rails-3 devise

我正在开发Rails 3.2应用程序。当用户注册或在我的管理面板中创建用户帐户时,会向他们发送欢迎电子邮件。我想要包含一个链接,用户可以单击该链接进入密码重置页面(他们可以设置/更改密码)。

所以我想要做的基本上是手动创建一个重置密码令牌,创建一个指向重置密码页面的链接(他们选择一个新密码)并将其包含在欢迎电子邮件中。我不想发送两封电子邮件(欢迎和重置密码)。

我猜这些代码可能会被使用,但我不知道如何使用。

https://github.com/plataformatec/devise/blob/master/lib/devise/models/recoverable.rb

我该怎么做?

感谢所有人的帮助!

1 个答案:

答案 0 :(得分:0)

只需要做类似的事情,并且如果有人偶然发现这个问题,我会发布一个答案。假设您已正确设置,您需要做的就是确保用户存在于数据库中,然后重定向到设计路由。我在这里使用他们的代码:goo.gl/cE5USm。
def password_reset_controller user = User.find_by_email( params[:email] ) if user redirect_to password_path(:user, email: user.email) else # do something different end end 在控制台中,如果你调用password_path(:user,email:user.email) - > “/用户/密码?电子邮件= '电子邮件'”

编辑: 或者,您可以使用goo.gl/aPQ8MU中的user.send_reset_password_instructions