В вашей модели необходимо добавить подтверждение
validate :not_past_date
def not_past_date
if self.date < Date.today
errors.add(:date, 'not in past')
end
end
После того, как в вашем контроллере, вы просто проверяете, возвращает ли значение true или false Ложь отправляется, когда вы не проверяете свою модель. Если false, перенаправить на другой контроллер.
Редактировать:
Как сказал Симоне Карлетти в комментарии, вы можете использовать #past?
validate :not_past_date
def not_past_date
if self.date.past?
errors.add(:date, 'not in past')
end
end