设计自定义忘记密码方法

时间:2018-04-09 22:09:25

标签: ruby-on-rails devise ruby-on-rails-5

我让一个人可以注册并使用用户名登录(我是用脏的方式做的,但是对于用户它是不可见的)我在另一个名为ContactInfo的模型中有电子邮件与User建立一对一的关系。

因此,当需要发送电子邮件时,我需要让我的应用使用ContactInfo而不是User中的电子邮件(在这种情况下是恢复密码),我该怎么办?吗?。

1 个答案:

答案 0 :(得分:0)

注意:此回复已根据以下原始海报收到的说明进行了大量修改。

如果你真的必须这样做,请看这里:Send Password Reset to a Different Email - Devise

虽然我觉得有必要重申不建议这样做。如果你要改变它的内部,为什么要使用Devise?你已经失去了比通过这样做更多的时间,并且你在整个应用程序中打开了自己的错误和不一致的行为。

如果还不算太晚:Devise有一个关于如何use a username instead of an email的wiki,它不需要新表或黑客攻击内部。如果您这样做,那么通过用户名发送重置电子邮件就像this

一样简单