RailsのActiveRecordでenumを使うときは、gem enum_help
を利用すると便利
enum_help の設定方法
1. gem のインストール
Gemfile に下記を追記して、bundle install
gem 'enum_help'
2. i18nの設定
config/application.rb
に下記を追加
config.time_zone = 'Tokyo'
config.i18n.default_locale = :ja
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}').to_s]
3. enum の設定
config/locales/models/hogehoge/ja.yml
にファイルを作成(モデルごとに作ったほうが見やすい)
ja:
activerecord:
models:
hogehoge: ほげほげモデル
attributes:
hogehoge
name: 名前
status: ステータス
enums:
hogehoge:
status:
temporary: 未公開
active: 公開
4. あとは呼び出すだけ
Hogehoge.statuses_i18n
=> {"temporary"=>"未公開", "active"=>"公開"}