jal*_*nge 5 time activerecord ruby-on-rails
我遇到了一个我认为是Active Records故障的问题.我正在解析包含作业的XML文件.此xml文件包含以时间格式00:00:00指示挂起时间的节点.我也有一个接受这些工作的模型.但是,当时间大于实际的24H时间时,Active记录将其插入为NULL.以下示例:
INSERT INTO `jobs` (`jobid`, `walltime`) VALUES('71413', 'NULL')
INSERT INTO `jobs` (`jobid`, `walltime`) VALUES('71413', '15:24:10')
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?谢谢!
该标准的 SQL time和datetime数据类型并不用于存储的持续时间.可能与这些标准一致,ActiveRecord的时间属性赋值逻辑使用本机Ruby Time类的时间解析规则来拒绝无效的时间.
如您所愿,存储持续时间的方法是:
Run Code Online (Sandbox Code Playgroud)class Thing < ActiveRecord::Base ... def duration return start - end end def duration=(length) start = Time.now end = start + length end ... end