Я создаю простую проверку внутри своей модели, которая проверяет, есть ли дата (to_date
) до текущей даты.strptime error with Rails 4
Формат, который представляет пользователь to_date
, составляет %m/%d/%Y
или, например, 03/15/2016
.
Моя проблема, рельсы бросает мне ошибку invalid date
, хотя я проверил три раза, что дата находится в правильном формате.
Вот моя проверка:
validate :date_not_before_now
def date_not_before_now
if Date.strptime(self.to_date, '%m/%d/%Y').strftime("%Y-%m-%d") < Time.now.localtime.strftime("%Y-%m-%d")
errors.add(:dates, "should not be in the past.")
end
конец
Любая помощь выяснить, почему это не работает будет высоко ценится.
Благодарим за предложение, но on_or_before не будет работать в моем случае, так как 'to_date' является строкой, а не datetime. – Kathan