如何解决使用未确认的帐户登录时,覆盖设计会话控制器以触发“确认您的电子邮件”电子邮件
我在 Devise 中使用 confirmable
功能。当有人尝试登录未经确认的帐户时,Devise 会自动将他们重定向回登录页面,并显示错误消息:
×You have to confirm your email address before continuing.
有没有办法(可能用我自己的方法覆盖会话控制器)来 (1) 触发另一封“确认我的电子邮件”电子邮件在那时发送给用户?;和 (2) 更改翻译语言以在警报消息中添加单词 A confirmation email has just been sent to you.
?
对于第一个问题,我之前在另一个控制器中使用过 @user.send_confirmation_instructions
,但不知道如何让它在会话控制器中工作而不可能破坏设计登录代码的其余部分。
解决方法
您不必覆盖整个控制器,甚至其中的方法。如果您想进行更重大的更改,您应该只使用自定义控制器。
自定义 Flash 消息
设计呈现的消息全部在语言环境中定义。有关设计使用的所有字符串,请参阅 https://github.com/heartcombo/devise/blob/master/config/locales/en.yml。
您可以在您自己的英语语言环境中覆盖这些字符串中的每一个。这足以定制吗?
自定义电子邮件内容
您可以为任何设备方法创建自定义视图。请参阅 https://github.com/heartcombo/devise#configuring-views
上的指南这将允许您为发送的电子邮件生成默认视图文件,然后您可以编辑这些文件。如果您想将其他数据传递到电子邮件,它只会变得棘手。如果您偶然发现,请告诉我们。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。