设计自定义忘记密码方法

Devise custom forgot password method

我让人们可以使用用户名注册和登录(我用一种肮脏的方式做到了,但对于用户来说它是不可见的)并且我在另一个名为 ContactInfo 的模型中有电子邮件与 User.

具有一对一关系

所以我需要让我的应用程序在需要发送电子邮件时使用ContactInfo中的电子邮件而不是User中的电子邮件(因为在这种情况下是恢复密码),如何我这样做?

注意:此回复已根据以下原始发帖人的说明进行了大量编辑。

如果你真的必须这样做,请看这里:

虽然我觉得有必要重申一下,这是不推荐的。如果您只是要更改其内部结构,为什么要使用 Devise?通过这样做,您损失的时间已经超过了获得的时间,并且您正在为整个应用程序中的错误和不一致的行为敞开心扉。

如果还不算太晚:Devise 有一个关于如何 use a username instead of an email which does not require a new table or hacking the internals. If you do that, then sending a reset email via username is as easy as this

的 wiki