0

我已经实现了忘记密码功能,它将向用户电子邮件发送重置链接。我还使用客户端的 JavaScript 库添加了一些代码来验证它是否是有效的电子邮件地址。

我的问题是如何在服务器端检查,这样当email地址不在我们数据库的users表中时,我们会显示一个flash错误信息;如果它在我们的用户表中,我们将发送密码重置链接。

Devise用于用户管理。

4

1 回答 1

2

您描述的精确功能随 Devise 一起提供。要启用它,您需要将您的设计模型声明为:recoverable

# app/models/user.rb (assuming that User is a Devise model)
devise :database_authenticatable, :registerable,
       :rememberable, :trackable, :validatable, :recoverable

然后,您可以通过访问访问密码恢复表单http://yourdomain/users/password/new。假设您没有覆盖/子类Devise::PasswordsController化,您将获得直接开箱即用的所有功能。

于 2013-10-29T06:09:40.400 回答