Anlaşma tablosu ve tarihin günümüzün tarihiyle eşleşen kayıtlarını bulmam gerekiyor.Bugünün tarihine uyan Tarih ile Kayıtları Bul - Ruby on Rails
Raylar konsolundan eşleştirmem gereken tarih alanı buna benzer. Test etmek için bir kayıt yaptırdım. Böyle bugün başlangıç tarihini eşleşen herhangi bir kayıt bulmak için çalışırsanız
ruby-1.9.2-p0 > deal.start
=> Tue, 10 May 2011 00:00:00 UTC +00:00
Ben
ruby-1.9.2-p0 > Deal.find_by_start(Date.today)
=> nil
nil o zaman ben bir tarih için Date.today dönüştürerek maç düşündüm olsun.
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
Bunu nasıl çalıştırabilirim? Ben Rails 3. kullanıyorum
Düzenleme: Ben eserler ancak bir DateTime bir tutan
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
Teşekkürler. Bu harika çalışıyor ve bunu kısa vadede kullanacağım ve performans iyileştirmeler için kodumun yeniden düzenlenmesine bakacağım. Yardım ettiğin için teşekkür ederim. –
Ayrıca aralıkları kullanarak daha kısa bir versiyon var. @deals = Deal.where (start: DateTime.now.beginning_of_day .. DateTime.now.end_of_day) –
'Deal.where (start: Time.zone.now.midnight) 'da çalıştığını buluyorum. –