enumをi18n対応させるenum_helpを導入する
enumとは
数字を値と紐付けているようなデータの管理をしたいときに使います。
例えば管理者権限の有無を管理する場合などに使うことができます。
(user.rb) enum role: { general: 0, admin: 1 }
このように、数字で管理をしているだけだと、わかりづらいですが、
文字で管理することができるので、直感的になります。
enumをi18n対応させる
数字から文字列になり少しわかりやすくなりましたが、
英語よりも日本語表記の方がわかりやすくなりますよね。
そこで使うのが、enum_helpというgemです。
enum_helpの使用方法
まずGemfileにgem 'enum_help'
を導入して、bundle installをします。
それからlocalesファイルに追記していきます。
(config/locals/ja.yml) enums: user: role: general: '一般' admin: '管理者'
追記するファイルは、localsファイルを多数作って管理している場合は、
どこでも扱いやすいところに追記すれば大丈夫です。
これであとは呼び出すだけです。
◯◯_i18n
とするだけで使うことができるようになります。
User.roles => {"general"=>0, "admin"=>1} User.roles_i18n => {"general"=>"一般", "admin"=>"管理者"}