我遇到了DataMapper的DateTime属性的一些奇怪行为。
这是一个简单的代码:
DataMapper.setup(:default, 'sqlite::/path/to/some/file.db')
class Event
include DataMapper::Resource
property :id, Serial
property :time, DateTime
end
我创建了一个项目:
e = Event.new
e.time = Time.now
e.save
现在发生了奇怪的事情: 保存前的时间没问题。 在数据库文件中,时间也可以。
puts e.time.to_s
# 2011-05-01T22:38:49+02:00
但后来我没有“时间”部分就获得了DateTime。
puts Event.first.time.to_s
# 2011-05-01T00:00:00+02:00
有什么想法吗?
答案 0 :(得分:1)
不幸的是,您遇到了最新DataObjects中的错误。它将在下一个版本中修复,已经有一个修复错误的拉取请求:https://github.com/datamapper/do/pull/9