2016-08-18 67 views
0

我有一個驗證模型,我想做一個驗證,只有檢查,如果在同一窗體中的另一個字段是真實的(它的布爾值)。我遇到了此驗證的語法問題。到目前爲止,我有驗證字段與if選項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

嘗試使用lambda或傳遞方法

validates_acceptance_of :disclosure_acceptance, if: lambda { manager_requested? } 

validates_acceptance_of :disclosure_acceptance, if: :manager_requested? 
+0

謝謝你的第一個偉大的工作! – SupremeA