使用if选项Mongoid验证字段

时间:2016-08-18 21:18:28

标签: ruby-on-rails validation 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字段,是否可以检查它。

1 个答案:

答案 0 :(得分:1)

尝试使用lambda或传递方法

validates_acceptance_of :disclosure_acceptance, if: lambda { manager_requested? }

validates_acceptance_of :disclosure_acceptance, if: :manager_requested?