BLogみんなのウェディングのエンジニア。聴いたお話をまとめておく倉庫的な。LINKシェアするども、櫻井広大です。enumについて書いてみようと思います。enumは使ってみると僕は便利だと思っているのですが、初学者からすると、一体これはどうやって使うんだ?とか、ちょっと抵抗があるなじゃないかと思ってましてそのハードルのようなものが取っ払うことができればと思って書いています。enumとはenum(イーナム)とは、列挙型のことです。列挙型については以下wikipediaからの引用です。列挙型とは、コンピュータプログラミングにおいて、プログラマが選んだ各々の識別子をそのまま有限集合として持つ抽象データ型である。いうと整数の値に意味づけを行うイメージです。複数の定数をまとめて指定できます。例をみた方が早いと思うので、例を書きます。DBのarticlesというテーブルがあったとして、そのカラムにstatusカラムが存在するとします。いったように運用するとします。その際にコードで表現する時に0,1といった数値ではなく文字列で扱えるようにします。することで、「この数値の意味ってなんだっけ?」ということを防止できます。}上記のようにclassの中で利用すればOKです。ちなみにenumはApplicationRecordに定義してあるため、こちらを継承していると利用できますが、ApplicationRecordではないclassでは利用できないので注意しましょう。Railsのenumは便利なメソッドが生えるぞ!enumを定義するといろんな便利なメソッドが利用できるようになります。仮に下記のようなmodelがあったとします。statusが0のレコード)が取得できます。インスタンスメソッドでオブジェクトの状態を知ることができる。Article.find(1)@artcile.published?定義したenumの文字列に?をつけてメソッドを呼ぶことで中身が一致していれば、trueが、一致していなければfalseが返ってきます。not_xxxが追加されるようになりました。}と定義していたり、scopeに同様の名前のものが定義してあると予期せぬ挙動になる可能性があるので注意が必要です。enumのメリット個人的にenumのメリットは可動性とメンテナンスのしやすさにあるかなと思います。第三者がみた時にDBの中身やドキュメントを読まずにそのカラムが持ち得る数値、意味が伝えることができるので、そこがメリットではないかと思っています。(1)スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。