こんにちは!kossyです!
さて、今回は、Railsのバリデーションオプションの一つである、
「inclusion」オプションの使い方について、ブログに残してみたいと思います。
環境
Rails 5.2.3
Ruby 2.6.3
MacOS Mojave
使い方
その属性が持つ値がinclusion内で定義した値に含まれているかを検証します。
って言ってもわかりづらいので、具体例を出してみます。
例として、状態ステータスを持つ属性があるとします。
そして、その属性が持ち得る値として、定数を定義します。
STATUS_VALUES = ['draft', 'published', 'secret']
この定数を、inclusionオプションに渡します。
app/models/hoge.rb class Hoge < ApplicationRecord STATUS_VALUES = ['draft', 'published', 'secret'] validates :status, inclusion: { in: STATUS_VALUES } end
こうすることによって、statusカラムに入れられる値を制限することができます。
参考にさせていただいた記事
Active Record バリデーション - Railsガイド
バリデーション(validation) | Railsドキュメント