У меня есть код, который просто обращается к полю даты и времени, поэтому activerecord автоматически преобразует его в объект Time, когда я его читаю:
@some_appointment.some_time
Проблема в том, что иногда столбец datetime иногда имеет неверные данные. «0209-12-20» вместо «2009-12-20». Это приводит к тому, что Ruby выдает ошибку «слишком большой для маршала» только из-за доступа, и я не могу ее уловить, поскольку ошибка не является исключением. Учитывая, что в моей базе данных есть недопустимые данные, я хочу попытаться создать объект времени самостоятельно, прочитав строку datetime и используя Time.parse, чтобы я мог перехватить исключение, если время не может быть проанализировано. Как я могу сделать это? Есть ли способ лучше?