sta*_*p75 11 activerecord ruby-on-rails fixtures
我有以下夹具:
link_1:
  user: tom
  image: boy1
  created_at: <%= 5.day.ago %>
我尝试了以下请求:
Links.where("Date(created_at) = ?", 5.day.ago.to_date)
回答:
[]
grrrr ....打字......打字......抓...我终于试过了:
link_1:
  user: tom
  image: boy1
  created_at: <%= 5.day.ago.to_date %>
和
Links.where("Date(created_at) = ?", 5.day.ago.to_date)
终于答案了
[#<Link id: 298486374, user_id: 1038054164, image_id: 482586125, created_at: "2010-11-28 00:00:00", updated_at: "2010-12-03 21:32:19">]
我期待什么,但为什么我需要把to_date?我不清楚,因为当我创建一个没有指定创建日期的对象时,我可以使用以下where子句选择它们而不会出现问题:
Links.where("Date(created_at) = ?", Date.today)
任何的想法?
lbz*_*lbz 20
在灯具中你应该:
created_at: <%= 5.day.ago.to_s(:db) %>
您的查询将是:
Links.where("created_at = ?", ...
让ActiveRecord处理有关从数据库移动数据和向数据库移动数据的详细信息.我们使用ORM是有原因的.
参考.
我推测这是因为创建夹具和调用查询之间的时间差。
5 天前 + 0.00025 毫秒 > 5 天前
我不确定日期时间的精度是多少,但这是我能想到的唯一可能性。当您将其转换为日期时,您删除了无关的时间信息并使两者相等。
| 归档时间: | 
 | 
| 查看次数: | 8877 次 | 
| 最近记录: |