railsのgemのenumerizeの使い方

rails

railsのgemであるenumerizeを使用してenumの扱い方について調査したので記事にまとめます!

enumerizeのインストール方法

gemfile内にenumerizeを記載して

gem 'enumerize'

bundle installします。

$ bundle install

以上でセットアップは終了です。

enumerizeを使用してみる

使用方法は簡単です。使用したいmodelに”enumerize”を定義して使用するだけです。

class User < ApplicationRecord
  extend Enumerize
  
  enumerize :group_category, in: { male: 0, female: 1 }
end

上記では、コード上はmale、femaleで表すが、データベースに入っている(入る)のは0か1という処理になります。

こうすることで、下記のように実装することができます。

if user.group_category == 'female' # enumで定義した値が使える。
  put '女性です'
else
  put '男性です'
end

# ↓結果
# 女性です

enumerizeを使用しない方法

一応、簡易的な方法で、rails4.1移行ではgemをインストールしなくても標準でenumが使用できるようになっている。

class User < ApplicationRecord
  # extendは不要
  enum :group_category, in: { male: 0, female: 1 }
 # この書き方で、上記のenumerizeと同様の動きができる。
end

コメント

タイトルとURLをコピーしました