はじめに
今回はenumについて学んでいきます。
エナムと書いてイーナムです。
読み方からつまづきますよね。優しく解説していきます。
では、行きましょう!
enumってなぁに?
enum とは、数値に意味を持たせることができるものです。
例えばこんな感じです。
0 → スシロー
1 → くら寿司
数字でなんてややこしい。。文字でええやんけ!
~と思ったそこの貴方。ちょっと待ってください(一一)
ちゃんとメリットがあります。
①決められた数値以外の登録が出来ないようにすることで安全性が高まる。
②上記のような、店舗選びの選択用のテーブルを作成する必要がなくなる。
③データベースに格納する時に、数値型の方がデータサイズが小さくなる。
ね?いいことあるでしょ?
ほな、導入していこか!
enum_helpの導入
まず、enum_help の導入をします。
gemファイルに以下を追記し、bundle installして下さい。
gem "enum_help"
enum をモデルに定義する
enum susi: { susiro: 0, kurazusi: 1 }
こんな感じですね。
これでsusi は下記のように定義されます。
0 が入っている場合は susiro(スシロー)
1 が入ってる場合は kurazusi(くら寿司)
これでenumは導入完成です!
...が、まだ終わりじゃありません。
この表記を日本語に直してあげねばなりません。
エイゴ、コワイ、ニホンゴ、ナオス...
config/application.rb に追記を行う
日本語に直していきましょう。
日本語に直すまで先生君たちを家に返さないからね。
class Application < Rails::Application
:
:
config.i18n.default_locale = :ja
:
:
end
end
はい、これでOK。次に進みます。
yml ファイルを作成する
config/locales フォルダに ja.yml というファイルを作成しましょう。
このファイルに下記のように、記述します。
ja:
enums:
モデル名:
susi:
susiro: "スシロー"
kurazusi: "くら寿司"
これで0 とsusiro・1とkurazusi が日本語化されるようになります。
こ、これで完了です(ゼェゼェ...)
後は、ビューに書き出せばちゃんと反映されます。
おめでとうございます!
おわりに
今回はenumについて解説してきました。
この投稿が役に立ったと思った方は、
チャンネル登録、グッドボタンをよろしくお願いします!