初めに
Rails
でメールの件名を i18n
で設定する方法を忘備録として残しておきます。
環境
-
Rails 6.1.4
-
Ruby 2.7.4
日本語設定
ja.yml
に日本語を追加することでsubject
を設定できます。
また、引数を与えて動的に変更することもできます。
user_mailer.rb
user_mailer.rb
class UserMailer < ActionMailer::Base
def welcome
# mail(to: '宛先' ,suject: '件名')
mail(to: '宛先')
end
def signin(user)
mail(to:'宛先', subject: default_i18n_subject(user: user.name))
# 引数を与える場合はdefault_i18n_subjectを利用する
end
end
ja.yml
ja.yml
ja:
user_mailer:
welcome:
subject: '件名'
signin:
subject: "%{user}さん, ようこそ!"
まとめ
日本語だけならこのような対応は必要ないですが、英語などの多言語に対応するときに必要になるので覚えておく必要があります。