在Rails Devise gem中如何修改send_reset_password_instructions方法?
我想修改send_reset_password_instructions
方法,以便我可以通过它将一些额外的参数发送到url。 然后我可以在url中读取该参数,如果它存在,我将以不同的方式设置视图(和邮件程序)的样式。
我真正需要做的是发送重置密码而不是确认电子邮件。 我已经让我的应用程序发送重置密码而不是确认,但现在我需要编辑邮件程序和视图是不同的。 我怎样才能做到这一点?
好的,所以你的问题有2个部分。
-
覆盖
send_reset_password_instructions
方法:- 访问Devise Github页面 ,找到定义方法的位置。
- 在您自己的app文件夹中创建一个具有相同名称和相对路径的文件。 例如:Devise有这个帮助
app/mailers/devise/mailer.rb
,如果你想覆盖它,你在自己的app
目录中创建相同的。 - 根据需要复制方法并覆盖。 Devise会自动拾取文件。
-
编辑视图/邮件程序:您只需运行以下命令:
rails generate devise:views
您将在视图文件夹中拥有邮件程序视图。
希望这可以帮助 :)