Olası Çoğalt: o lider tüm ürünleri göstermesi gerekir böylece
Scoping date attribute for this week?nasıl Date nesnesi tarafından kapsamına geçen haftaya
Ben, bu hafta kapsamına benim Ürünlerin hepsi çalışıyorum haftanın hangi gününe kadar.
class Product < ActiveRecord::Base
attr_accessible :purchase_date
def self.last_week # All prices of last week.
where(:purchase_date => 1.week.ago)
end
create_table :products do |t|
t.date :purchase_date
end
end
Bu kod, görünümde hiçbir şey oluşturmaz, dolayısıyla düzeltmem gerekenler nelerdir?
CEVAP
Nedense ben aynı zamanda Pazartesi almak üzere içinadvance(:days => -1)
eklemek zorunda kaldı. Bunu yapmak zorunda olmayabilirsin.
def self.last_week
where(:purchase_date => 1.week.ago.beginning_of_week.advance(:days => -1)..1.week.ago.end_of_week).order("purchase_date desc")
end
GÜNCELLEME CEVAP ben çünkü içindeyim Zaman bölgenin advance(:days => -1)
yapmak zorunda
. Ben kendi saat diliminde olduğum emin olarak bu kurtulmuştur.
def self.last_week
where(:purchase_date => 1.week.ago.beginning_of_week..1.week.ago.end_of_week)
end
Ve doğru SADECE varsayılan Raylar Saat dilimi gitmek veya kendi konfigürasyon dosyasında eğer çalışması gerekir:
app/config/çevre/gelişmeyi olması gerektiği gibi Yani şimdi normal olabilir .rb
config.time_zone = "Eastern Time (US & Canada)"
İyi şanslar.
evet bu tanımlanmış yöntemin içeri Could düzgün her zaman – apneadiving
güncellenmesi? – LearningRoR
, yöntemin içine girebilir, ancak o zaman lambdaya ihtiyacınız olmaz. Hala kapsamı – apneadiving