I have a table of deals and need to find records where the date matches today's date.
From the rails console, the date field I need to match looks like this. I've assigned a record to deal for testing.
ruby-1.9.2-p0 > deal.start
=> Tue, 10 May 2011 00:00:00 UTC +00:00
If I try to find any records matching the start date with today like this I get nil
ruby-1.9.2-p0 > Deal.find_by_start(Date.today)
=> nil
then I thought I could match by converting Date.today to a 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
How can I get this to work? I'm using Rails 3.
Edit: I thought about converting them both to a consistent format which will works but not when trying to using the find_by_start method
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