本周我试图确定我的所有产品的范围,因此它应该显示所有产品,直到一周中的哪一天。
class Product < ActiveRecord::Base
attr_accessible :purchase_date
def self.this_weeks
where("purchase_date >= ?", Date.at_beginning_of_week - Date.at_end_of_week)
end
create_table :products do |t|
t.date :purchase_date
end
end
这给了我一个错误:
undefined method `at_beginning_of_week'
我需要纠正什么?
答案 0 :(得分:3)
at_beginning_of_week。你应该使用beginning_of_week但是要小心,这是一个实例方法。所以你必须做类似的事情:
Date.today.beginning_of_week
此外,您可以使用范围并使您的查询非常好阅读:
where(:purchase_date => Date.today.beginning_of_week..Date.today.end_of_week)