说我有ModelA
和ModelB
。当我将ModelA
的实例保存到数据库时,它还会创建/保存ModelB
的实例。在数据库中,我最终使用created_at
的UTC显示完全相同的内容。例如:
puts ModelA.first.created_at # Wed, 31 Aug 2011 22:49:28 UTC +00:00
puts ModelB.first.created_at # Wed, 31 Aug 2011 22:49:28 UTC +00:00
所以我希望像下面这样的查询返回匹配的记录(但它没有)
# model_instance is instance of SomeModel
ModelA.where(created_at:model_b_instance.created_at) # returns []
但是这样的事情,使用to_s(:db)确实有效
ModelA.each do |m|
if m.created_at.to_s(:db) == model_b_instance.created_at.to_s(:db)
... # found matches here
end
end
有人可以解释我在这里做错了吗?我希望能够编写ModelA.where(created_at: ... )
之类的查询,但我目前无法迭代并匹配to_s(:db)
。
答案 0 :(得分:0)
要尝试两件事: