【发布时间】:2010-01-05 00:13:17
【问题描述】:
我有一些代码只是访问一个日期时间字段,所以当我阅读它时,activerecord 会自动将它转换为一个时间对象:
@some_appointment.some_time
问题是有时“some_time”日期时间列的数据不正确。 “0209-12-20”而不是“2009-12-20”。这会导致 Ruby 仅通过访问就抛出“年份太大而无法编组”错误,我似乎无法捕捉到它,因为该错误不是异常。鉴于我的数据库中有一些无效数据,我想尝试通过读取日期时间字符串并使用 Time.parse 自己制作时间对象,以便在无法解析时间时捕获异常。我怎样才能做到这一点?有没有更好的办法?
【问题讨论】:
-
您这样做是为了摆脱不良数据的一个实例吗?如果是这样,看起来确实需要做很多工作,当您可以直接与数据库交互来纠正这个问题时。
标签: ruby-on-rails datetime activerecord