コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

enumの日本語化を実現するgem「enum_help」

ほう、こんなものが…という既存プロジェクトに入ってたgemをメモるシリーズ

出典

GitHub - zmbacker/enum_help: Help ActiveRecord::Enum feature to work fine with I18n and simple_form.

環境

rails (5.0.2)
enum_help (0.0.17)

効能

gemを入れたら config/locales/model/ にモデル名と同じymlを作り、フォーマットにしたがって記述すると {{モデル名}}.{{enumカラム名}}_i18n でlocaleに連動した文字列が帰ってくる

実例

Userモデルとして以下のような情報を定義する

class User < ApplicationRecord
  enum sex: { 
    male: 0, 
    female: 1 
  }
end

例えば config/locales/model/user.yml と作成する

ja:
  enums:
    user:
      sex:
        male: 男
        female: 女

と設定すると、以下のように _i18n をつけると日本語表記してくれる。

user.sex_i18n
#=> "男"

viewなどを作る際に便利

参考リンク

関連リンク