駆け出しエンジニアの気ままブログ

気になったことについて、調べながら投稿するブログです。

Enumでデフォルト値を設定する

概要

Enumerizeでしかデフォルト値を設定できないと思っていましたが、

Enumでもデフォルトを設定できるようなので、共有記事です

内容

Enumのデフォルト値を設定する

enum status: { draft: 0, published: 1 }, _default: draft 

こんな形で、デフォルト値を設定できます。 prefixやsuffixをつける時と同じようにできました

*Rails7からは _defaultは非推奨になり、defaultで設定できるようなりました!

ちなみに.....

今回は、DBに設定する値はintegerにしていますが、string型にすることでパット見わかりやすいのかもしれません。

enum status: { draft: 'draft', published: 'published' }, _default: draft 

もちろん、DB容量を無駄にしていると言われれば、そうですが、、、

まとめ

今回の記事は、enumerizeでしかできないと思っていたことなので、知れて良かったです。

gemに頼らず、enumの標準機能で対処できると、楽だとおもいました!

最後まで、読んでいただきありがとうございました