2016-08-18 16 views
0

私は検証のモデルを持っており、同じフォームの別のフィールドが真(真偽)である場合にのみチェックされます。この検証の構文に問題があります。これまでのところ私はmanager_requestedフィールドがtrueに設定されている場合は、この検証はのみチェックされているように、適切な構文は何である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 

を持っています。

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

関連する問題