使用 if 选项 Mongoid 验证字段

Validation of field with if option Mongoid

我有一个带有验证的模型,我想做一个验证,只有当同一个表单中的另一个字段为真(它是一个布尔值)时才会被检查。我在使用此验证的语法时遇到问题。到目前为止我有

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 字段。

尝试使用 lambda 或传递方法

validates_acceptance_of :disclosure_acceptance, if: lambda { manager_requested? }

validates_acceptance_of :disclosure_acceptance, if: :manager_requested?