WebookWeb業界で働いています。Railsを中心にプログラミングや事業開発のようなことを書いていきます。Sharing!Rails4.1から導入されたEnumの挙動について忘れることがあるので簡単にまとめました。enumの定義、enumを定義したことにより使える便利なメソッドなどをまとめました。次のように、enum、属性名、属性の値(ハッシュ)で指定することでEnumを定義することができます。enumの定義(キーと数字のハッシュを渡す。}endDBカラムのデフォルト値をenumの初期値と合わせておきます。endendenumで使えるメソッドenumで定義したハッシュのキー名+?でそのキーの値が設定されているかどうかを返します。キー名+!で値を設定し、DBに保存します。"published"enumで指定した属性名の複数形のメソッドを呼び出すと、enumで指定したハッシュを取得できます。0enumで定義したハッシュの値以外を設定しようとするとexceptionが発生します。statusEnumの値を検索enumのキーをスコープとして使うことができます。[]>検索するときは次のようにもできます。1)Enumの注意点enumを次のように配列でも定義できます。:published]endその場合、DBの値は、配列の添え字と同じ値になります。0そのため、値の追加、削除をしたときに、配列の追加場所を気にしないと、DBの値とenumのカラムの意味が異なり、バグが発生してしまいます。