我已经实现了忘记密码功能,它将向用户电子邮件发送重置链接。我还使用客户端的 JavaScript 库添加了一些代码来验证它是否是有效的电子邮件地址。
我的问题是如何在服务器端检查,这样当email地址不在我们数据库的users表中时,我们会显示一个flash错误信息;如果它在我们的用户表中,我们将发送密码重置链接。
我Devise
用于用户管理。
我已经实现了忘记密码功能,它将向用户电子邮件发送重置链接。我还使用客户端的 JavaScript 库添加了一些代码来验证它是否是有效的电子邮件地址。
我的问题是如何在服务器端检查,这样当email地址不在我们数据库的users表中时,我们会显示一个flash错误信息;如果它在我们的用户表中,我们将发送密码重置链接。
我Devise
用于用户管理。
您描述的精确功能随 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
化,您将获得直接开箱即用的所有功能。