Railsのdeviseのメール認証のテンプレートのありかについて。[ i18n使用編 ]

Railsのdeviseのメール認証のテンプレートがどこにあるか。についてです。

各環境に差分があるのですが、Railsのプロジェクト配下にない、など可能性を含めて探されてみてください。

Railsのdeviseのメール認証のテンプレートってどこにあるの?!

devise関連のgemは以下を入れています。

gem 'devise'
gem 'devise-i18n'
gem 'devise-i18n-views'

deviseのメール認証はなんとなく動いていたので良かったのですがいざ修正するとなるとつじつまが合わなくてあたふた。

deviseのメール認証のテンプレートが見つからなくて調べてみました。

メール認証テンプレートはdeviseのものは使用されていない!

以下のdeviseのviews/devise/mailer配下にテンプレートがあると思っていました。

このディレクトリの確認方法はこちらの記事に書いたgem environmentを実行して確認しています。

Ruby on Railsでインストールしたgemってどこにあるの?!を調べる方法[Mac編]

XXXX/gems/devise-x.x.x/app/views/devise/mailer

上記ディレクトリ配下の confirmation_instructions.html.erb を見ると…

Welcome <%= @email %>!
You can confirm your account email through the link below:
<%= link_to 'Confirm my account', confirmation_url(@resource, confirmation_token: @token) %>

私が実装している環境ではi18nを使ったテンプレートが送られているのですが、こちらはi18nは使用されていません。

メール認証テンプレートはdevise-i18nのものが使用されている!

XXXX/gems/devise-i18n-x.x.x/app/views/devise/mailer

上記ディレクトリ配下の confirmation_instructions.html.erb を見ると…

<%= t('.greeting', recipient: @email) %>
<%= t('.instruction') %>
<%= link_to t('.action'), confirmation_url(@resource, confirmation_token: @token) %>

config/locales/devise.views.ja.yml に書かれている文言もしっかり表示してることも確認できました。

以下のように変更を入れた場合、このような内容も踏まえて理解しておくといいですね。

[Rails][devise]認証メールのテンプレートをカスタマイズしたい

何か参考になれば幸いです(*^^*)