У меня есть таблица сделок и вам нужно найти записи, в которых дата соответствует сегодняшней дате.
Из консоли rails поле даты, которое нужно совместить, выглядит следующим образом. Я назначил запись для тестирования.
ruby-1.9.2-p0 > deal.start
=> Tue, 10 May 2011 00:00:00 UTC +00:00
Если я попытаюсь найти записи, соответствующие дате начала с сегодняшним днем, я получаю nil
ruby-1.9.2-p0 > Deal.find_by_start(Date.today)
=> nil
то я думал, что смогу совместить, переведя Date.today в datetime.
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