LoginSignup
0
0

More than 1 year has passed since last update.

enum導入手順について

Posted at

はじめに

今回は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について解説してきました。
この投稿が役に立ったと思った方は、
チャンネル登録、グッドボタンをよろしくお願いします!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0