在model中加入enum的功能。
除了enum外,這個gem還提供了一些相對應的method可以使用。另外enum與column名稱的對應也比較簡單明瞭。
摘錄至README
在model中加入enum的設定
class User < ActiveRecord::Base as_enum :gender, female: 1, male: 0 end在migration中加入對應的column
class AddGenderColumnToUser < ActiveRecord::Migration
def self.up
add_column :users, :gender_cd, :integer
end
def self.down
remove_column :users, :gender_cd
end內建有許多的method可以使用
jane = User.new
jane.gender = :female
jane.female? # => true
jane.male? # => false
jane.gender # => :female
jane.gender_cd # => 1
joe = User.new
joe.male! # => :male
joe.gender # => :male
joe.gender_cd # => 0
User.genders # => #
User.genders[:male] # => 0
User.genders.values_at(:male, :female) # => [0, 1]
User.females # => # (WHERE gender_cd = 1) 更多細節的設定可以參考:README - Wait, there's more!