我需要能够自定义rails设计邮件程序视图以重置密码说明.
为此,我需要做两件事.
>为链接指定自定义URL,以使其基于特定业务逻辑的主机/域.当用户单击忘记密码时,此主机和域来自浏览器中的URL,即请求对象.所以我没有在delayed_job中使用request对象来处理它,因此我需要能够在发送电子邮件的delayed_job中的某个时刻执行此操作.
>将自定义变量传递给邮件程序视图,以便我可以为视图添加各种其他逻辑,隐藏和显示我需要的位.
有人可以帮忙吗?我可以看到你可以为设计生成邮件程序视图,但我还需要能够将各种项目传递给它.例如,我是否需要在我的用户模型和密码控制器中以某种方式覆盖这些功能?
最佳答案 所以,经过多次努力,搜索和黑客攻击…这是不可能的.所以我最终编写了自己的邮件程序并绕过控制器中的设计重置密码方法,生成我自己的重置令牌,设置我需要的变量,称为我的用户邮件….并在我的邮件中嵌入设计URL以获取它一旦密码重置链接被点击,回调设备,一切都很好,然后….
我讨厌重写逻辑,但最终它是最快捷,最干净的解决方案.
一种近乎工作的方法是在我的用户模型上使用非activerecord属性来存储我需要的位并在设计视图中将其“黑客”到@resource中,但是这样做会导致一些悲伤,因此,我选择上面的选项……