2017-08-21 14 views
1

RoRが作成したパスワードリマインダーのURLを変更したいと思います。 詳細を参照してください。ドメインにI18n.localeを挿入します。のは、コードは次のようである、私のreset_password_instructions.html.slimでどのように変更するかは、Devise RoRのパスワードリセットURL

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

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

を言ってみましょう。

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をオーバーライドする必要がありますか? どうすればよいですか?助けてください。

答えて

0

パスワードコントローラのルートをdeviseで変更します。

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

Reference link

+0

申し訳ありませんが、私の説明は少し難しいです。基本的に、上記のコードは "htp://mydomain.com/users/password/edit ...."を提供しています。しかし、私はこれを "htp://mydomain.com/en/users/password/edit ...."に変更したいと思います。要するに、ロケールをパスに入れたい。出来ますか? –

+0

私たちに提供して新しいカスタムルートを作成するスキップパスワードルートが必要です 'devise_for:users、:controllers =} {:登録=>"登録 "}スキップ:[:passwords]' 'get"/ja/users/password/edit "=>" devise/passwords#edit "" –

+0

ありがとうございます。ついにそれを修正する方法を見つけました。これはedit_password_urlの問題です。私はアンケートで説明します。 –

0

私は方法を見つけ出します。

p 
    = link_to (I18n.t "change_my_passwd"), edit_password_url(@resource, reset_password_token: @token, locale: I18n.locale) 
関連する問題