2011-05-22 25 views
6

Estoy intentando validar dos campos de fecha. Quiero validar que el segundo campo sea siempre la misma fecha o cualquier fecha posterior a la primera.Validar Fecha y hora en raíles

Ejemplo si fecha1 es 22/05/2011 fecha2 no puede ser 20/05/2011.

Estoy usando ruby ​​on rails 3.0.7, y estoy tratando de hacerlo a nivel de modelo.

Respuesta

3

a) hay una aplicación para eso

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

b) En realidad soy. no usar esa gema porque encontré este práctico método de modelo antes de la gema

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 

donde :started_at es el nombre de la columna. Eso es un poco de magia/caos de rubí para ti con el nombre de método dinámico que maneja el objeto

+0

crédito al poco conocido 'Irog' (de SO) para este método –