Ruby on rails 检查用户是否存在密码重置-设计。轨道

Ruby on rails 检查用户是否存在密码重置-设计。轨道,ruby-on-rails,ruby,ruby-on-rails-3,devise,Ruby On Rails,Ruby,Ruby On Rails 3,Devise,我对重置密码功能进行了测试,一切正常,只有一个问题 如果我删除了一个用户,他仍然可以要求他的密码,电子邮件中的链接,但是,我如何才能首先检查用户是否存在,在发送电子邮件之前,我只是使用这个 devise :database_authenticatable, :registerable, :recoverable, :rememberable, :validatable 我还调出了视图,但是,我如何检查它。尝试使用 筛选前:验证用户身份 在应用程序控制器中,然后重试。公共用

我对重置密码功能进行了测试,一切正常,只有一个问题

如果我删除了一个用户,他仍然可以要求他的密码,电子邮件中的链接,但是,我如何才能首先检查用户是否存在,在发送电子邮件之前,我只是使用这个

  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :validatable
我还调出了视图,但是,我如何检查它。

尝试使用

筛选前:验证用户身份


在应用程序控制器中,然后重试。

公共用户仍然可以访问“忘记密码”页面,并且仍然可以提供要发送到的电子邮件。但是,此电子邮件必须存在于数据库中,才能将重置密码指示电子邮件发送到该电子邮件。如果公共用户在您的应用程序中没有帐户,则不会发送电子邮件。但是,如果公众用户猜到了正确的电子邮件,他需要找到访问该电子邮件的方法。:)


简而言之,您不需要检查用户是否存在。

您不必明确检查此项,Desive会在发送重置密码令牌之前处理它。如果电子邮件不存在,它将抛出并出错。正如我所说,我测试,如果用户被删除,即使他被删除,电子邮件也会发送到他的电子邮件,但链接不起作用,因为该帐户不存在。。我想避免发送那封电子邮件。//一个写着“我们找不到那个账户”的会议会很棒