開発環境
Rails 6.1.4
ruby 2.6.3
目次
- gemを導入
- enumを定義する
- enumの日本語化
- enumの紐づけ
- 確認
gemを導入
まずはgemを導入します。
Gemfile
gem "enum_help"
記述後、enum_help をインストールするために bundle install
を行いましょう。
ターミナル
$ bundle install
enumを定義する
gem導入後、実際にenumを定義し、数値と文字列を紐付けします。
今回は数値と文字列を紐づける流れを、支払い方法のクレジットカード・銀行振込を例に解説します。
モデルはOrderモデル
で定義します。
Order.rb
enum payment_method: { credit_card: 0, transfer: 1 }
enumの日本語化
先ほど定義したenumを日本語化します。
config/application.rb
config.i18n.default_locale = :ja
config.i18n.load_path += Dir[Rails.root.join('config/locales/*.yml').to_s]
この記述により、Rails アプリケーションのデフォルトの言語が日本語となります。
ただこれだけでは定義したenumを日本語化することはできず、
定義したenumと日本語を紐づける作業が必要になります。
enumの紐づけ
それでは、定義したenumと日本語を紐づけます。
config/localesフォルダにja.yml
というファイルに次のように記述します。
book.rb
ja:
enums:
order:
payment_method:
credit_card: "クレジットカード"
transfer: "銀行振込"
確認
最後に、定義したものが日本語で呼び出せるかを確認していきます。
ターミナル
$ rails c
$ Order.payment_methods_i18n[:credit_card] #credit_cardのenumを呼びだす
$ Order.payment_methods_i18n[:transfer] #transferのenumを呼びだす
呼び出すと、下記のようになるかと思います。
日本語に変換できていますね!
これで完成です!お疲れ様でした!
あくまで備忘録なので足りない説明等多々あるかと思います。
行き詰まった際の助けになれば幸いです。