0
Help us understand the problem. What are the problem?

posted at

【Rails】actionmeilerのsubjectをi18nで日本語化する

初めに

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}さん, ようこそ!"

まとめ

日本語だけならこのような対応は必要ないですが、英語などの多言語に対応するときに必要になるので覚えておく必要があります。

参考

[初学者]Rails の i18n による日本語化対応

Rails 国際化(i18n) API - Rails ガイド

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
0
Help us understand the problem. What are the problem?