如何更改Devise RoR中的重置密码URL

时间:2017-08-21 21:04:51

标签: ruby-on-rails devise

我想更改RoR制作的密码提醒网址。 更多细节,想在域之后插入I18n.locale。让我们说

ttp://mydomain.com/users/password/edit?reset_password_token=gPudhxxxxxx2xTZ4hBeHeA

ttp://mydomain.com/en/users/password/edit?reset_password_token=gPudhxxxxxx2xTZ4hBeHeA

在我的reset_password_instructions.html.slim中,代码是这样的。

p
  = (I18n.t "resetpassword_mailbody", email: @resource.email).html_safe
p
  = link_to (I18n.t "change_my_passwd"), edit_password_url(@resource, reset_password_token: @token)
p
  = (I18n.t "mail_footer").html_safe

我需要覆盖edit_password_url吗? 我该怎么办?请给我一些建议。

2 个答案:

答案 0 :(得分:0)

使用设计更改密码控制器的路由。

devise_scope :user do
  get 'cutom_url', to: 'devise/passwords#edit', as: :edit_user_registration
end

Reference link

答案 1 :(得分:0)

我弄明白了。

p
  = link_to (I18n.t "change_my_passwd"), edit_password_url(@resource, reset_password_token: @token, locale: I18n.locale)