有时,使用一个条件进行多次验证会很有用。使用with_options可以轻松实现。
class User < ApplicationRecord
with_options if: :is_admin? do |admin|
admin.validates:password, length: { minimum: 10 }
admin.validates:email, presence: true
end
end如果::is_admin?,with_options块内的所有验证将自动通过条件。