2017-03-28 7 views
0

2つの異なる値を持つvisit_timeというフィールドがあります。彼らは "AM"と "PM"ですインクルードのチェック時にProcコマンドが機能しない

次の検証構文でvisit_timeの有無をチェックします。私はPROCを使用しています。このため

validates_presence_of :visit_time, 
     message: "visit time is required" 

は、それから私は、visit_timeが存在することである場合にのみ、インクルージョンの検証をチェックする必要があります。しかし、それは動作していません。

validates :visit_time, 
     :inclusion => { :in => [ 'AM', 'PM'], 
         :message => "%{value} is not a valid time" }, 
     :if => Proc.new { |o| o.errors.empty? } 

私は何が間違っているのか教えてください。 Procは含まれていませんか?前もって感謝します。

答えて

1

あなたが包含の検証のみを実行したい場合は、それが存在だ場合、あなたの代わりにこれにPROCを変更する必要があります。それが働いている

if: Proc.new { |o| o.visit_time.present? } 
+0

感謝を。私はそれについて大きな間違いをしています。 – nifCody

関連する問題