2013-10-23 50 views
2

我正在开发一个Rails 3.2应用程序。当用户注册或当我在管理面板中创建用户帐户,欢迎电子邮件发送给他们。我想包含一个链接,用户可以点击链接进入密码重置页面(他们可以在其中设置/更改密码)。如何使用devise手动创建重置密码令牌

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

我想这些代码可以使用,但我不知道如何。

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

我怎样才能做到这一点?

感谢所有帮助!

回答

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.send_reset_password_instructions来自goo.gl/aPQ8MU

相关问题