タグ

ブックマーク / qiita.com/tmzkysk (1)

  • Railsで特定の条件下で走るバリデーションを作りたい - Qiita

    ifを使用した条件分岐 例えば、bという項目がtrueの場合のみaの値は必須にしたい、とかあると思う。 if: オプションを使えばいいのだけれど、複数バリデーションまとめて判定させたい場合は、 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 :ca

    Railsで特定の条件下で走るバリデーションを作りたい - Qiita
  • 1