2017-03-28 12 views
0

我有一個名爲visit_time的字段,其中包含兩個不同的值。他們是「AM」和「PM」Proc命令無法檢查包含內容

我通過以下驗證語法檢查visit_time的存在。

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

然後我需要檢查包含驗證只有當visit_time是存在,爲此我使用Proc。但它不起作用。

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