2011-05-22 124 views
6

我想驗證兩個日期字段。我想驗證第二個字段總是與第一個字段相同的日期或任何日期。在rails中驗證日期時間

舉例如果date1是22/05/2011 date2不能是20/05/2011。

我在軌道3.0.7上使用紅寶石,我試圖在模型級別做到這一點。

回答

3

一)有針對

gem "validates_date_time", :git => "git://github.com/sofatutor/validates_date_time", :branch => 'rails-3' 

B中的應用程序)實際上我。不使用那個寶石,因爲我發現這個方便的模型方法之前的寶石

class KeyPerson < ActiveRecord::Base 

validate :started_at_is_date? 

private 

def started_at_is_date? 
    if !started_at.is_a?(Date) 
    errors.add(:started_at, 'must be a valid date') 
    end 
    end 
    end 

其中:started_at是該列的名稱。這是一個有點動態的方法名稱處理的事情的紅寶石魔術/混亂

+0

貸款給這個方法的鮮爲人知的'Irog'(SO) – 2012-08-18 03:28:09