我正在尝试确定本周所有产品的范围,因此它应该显示一周中任意一天之前的所有产品。
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'
我需要纠正什么?
at_beginning_of_week 已在 Rails 3 中删除。您应该使用一周开始 http://apidock.com/rails/Date/beginning_of_week但是,请注意,这是一个实例方法。所以你必须做类似的事情:
Date.today.beginning_of_week
此外,您可以使用范围并使您的查询非常易于阅读:
where(:purchase_date => Date.today.beginning_of_week..Date.today.end_of_week)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)