我有一个带有每周发生模型的rails应用程序。换句话说,每个用户都有一个模型实例(假设它是GroceryList),在周一早上每周生成一次。我想将一些语法糖集成到我的GroceryList模型中,以便我可以使用ruby-esque语法轻松引用过去的列表,如下所示:
current_user.grocery_list.1.week.ago
目前,每个GroceryList项目都有一个created_on日期,以及一个start_date,它表示一周的开始(星期一)。
是否有一种既定的方法将这种类型的功能绑定到ruby类中,如果有的话,如何实现它?
提前致谢。
答案 0 :(得分:0)
使用命名范围很容易添加这种东西:
class GroceryList < ActiveRecord::Base
scope :from, lambda { |date|
where(:created_on => date.to_date)
}
end
然后你可以使用简单的东西来获取任何关系:
current_user.grocery_list.from(1.week.ago)