Хочется парсить дату/время из строки и в случае некорректного формата просто выдавать значение по умолчанию. Сделал такой вот маленький модуль:
module DateTimeParseWithDefault
def parse_or_default(*args)
default = args.pop
begin
parse(*args)
rescue
default
end
end
end
Date.extend(DateTimeParseWithDefault)
Time.extend(DateTimeParseWithDefault)
Использование:
@date = Date.parse_or_default(params[:date], Date.today)
@time = Time.parse_or_default(params[:time], Time.now - 1.month)