如何解决设计忘记密码会渲染错误的模板[已解决]
Rails 6,Devise 4.7.3,我的视图中有一个忘记的密码模板,即users / passwords / new.html.erb,可以很好地呈现,收集电子邮件并将其发送回应用程序。我还希望在用户/密码/编辑时有一个很好的视图模板,希望在发送电子邮件时呈现该模板。但是,在我的情况下,该模板来自devise / passwords / edit.html.erb,而并非应该呈现。
为什么要设计devise模板而不是我希望运行的模板?
我的路线:
devise_scope :user do
get 'sign_in',to: 'users/sessions#new'
get 'sign_up',to: 'users/registrations#new'
get 'forgot_password',to: 'users/passwords#new'
get 'reset_password',to: 'users/passwords#edit'
end
最后,要使我的控制器正常工作,我要做的就是添加devise_for:users路径以指向{密码:'users / passwords'}
解决方法
由于devise控制器正在处理密码更改,因此它将呈现默认的devise视图。
您可以使用自己的设计来更新devise视图,也可以创建自己的update_password
方法来覆盖devise中的默认视图。
您可以在此处进一步了解如何实施自己的更新密码方法:https://github.com/heartcombo/devise/wiki/How-To:-Allow-users-to-edit-their-password
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。