我有一个带有验证的模型,我想进行验证,只检查同一形式的另一个字段是否为真(它是一个布尔值)。我在使用此验证的语法时遇到问题。到目前为止我已经
了class Reportapproval
include Mongoid::Document
field :manager_requested, type: Mongoid::Boolean, default: false
field :disclosure_acceptance, type: Mongoid::Boolean, default: false
validates_acceptance_of :disclosure_acceptance, if: :manager_requested == true, :accept => true
end
正确的语法是什么,只有在manager_requested字段设置为true时才会检查此验证。
P.S。如果在输入时创建了manager_requested字段,是否可以检查它。
答案 0 :(得分:1)
尝试使用lambda
或传递方法
validates_acceptance_of :disclosure_acceptance, if: lambda { manager_requested? }
或
validates_acceptance_of :disclosure_acceptance, if: :manager_requested?