本周的范围日期属性?

时间:2011-12-14 14:22:15

标签: ruby-on-rails ruby ruby-on-rails-3

本周我试图确定我的所有产品的范围,因此它应该显示所有产品,直到一周中的哪一天。

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'

我需要纠正什么?

1 个答案:

答案 0 :(得分:3)

在Rails 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)