1

我正在尝试通过我的截止日期属性在我的模型中创建一个可以找到数据集的范围,例如 less_than_a_year、less_than_six_month。

class Goal < ActiveRecord::Base
  attr_accessible :category, :title, :detail, :deadline, :achieve

  #need help solving this
  scope :less_than_a_year, where()
end

所以它会执行,goal.less_than_a_year 并提供不到一年的数据列表。谢谢你。

4

3 回答 3

2

根据rails 3.2指南

scope :less_than_a_year, lambda { where("deadline < ?", 1.year.from_now ) }
于 2013-03-19T14:52:37.033 回答
0

我很确定这是特定于数据库的,但它应该适用于大多数人。

class Goal < ActiveRecord::Base
  scope :less_than_a_year, lambda{ where("deadline < ?", 1.year.from_now) }
end

这假设截止日期是 aDateDateTime

编辑:添加了 lambda (我发誓我在看到其他答案之前就这样做了,但在否决之前没有)

于 2013-03-19T14:49:39.583 回答
0
class Goal < ActiveRecord::Base

 #need help solving this
 scope :less_than_a_year, labmda { where("deadline < ", 1.year.ago)}

end
于 2013-03-19T14:52:50.363 回答