ifを使用した条件分岐 例えば、bという項目がtrueの場合のみaの値は必須にしたい、とかあると思う。 with_optionsメソッドを使用して以下のように実装することができる。 class Post < ActiveRecord::Base # ifオプションで条件に合致する場合のみvalidatesを実行(published?はメソッド名またはmodelのboolean項目) validates :name, presence: true if: published? # 複数valitatesをまとめたい場合はwith_optionsを使用 with_options if: :published? do validates :name, presence: true validates :category, presence: true end # unlessで条件に合致しない場