我有一个交易表,需要查找日期与今天的日期匹配的记录。
从 Rails 控制台,我需要匹配的日期字段如下所示。我已经分配了一条记录来进行测试。
ruby-1.9.2-p0 > deal.start
=> Tue, 10 May 2011 00:00:00 UTC +00:00
如果我尝试查找与今天开始日期匹配的任何记录,我会得到零
ruby-1.9.2-p0 > Deal.find_by_start(Date.today)
=> nil
然后我想我可以通过将 Date.today 转换为日期时间来匹配。
ruby-1.9.2-p0 > Date.today.to_datetime
=> Tue, 10 May 2011 00:00:00 +0000
ruby-1.9.2-p0 > Deal.find_by_start(Date.today.to_datetime)
=> nil
我怎样才能让它发挥作用?我正在使用 Rails 3。
编辑:
我考虑过将它们都转换为一致的格式,该格式可以工作,但在尝试使用 find_by_start 方法时不起作用
ruby-1.9.2-p0 > deal.start.strftime("%a, %e %B %Y") == Date.today.strftime("%a, %e %B %Y")
=> true
ruby-1.9.2-p0 > Deal.find_by_start.strftime("%a, %e %B %Y") == Date.today.strftime("%a, %e %B %Y")
NoMethodError: undefined method `strftime' for nil:NilClass