RoR:named_scope,过去7天内创建的所有记录?

Jas*_*zek 4 ruby ruby-on-rails

如何定义named_scope以返回在过去7天内创建的所有记录,然后如何在控制器中使用该命名范围?

mwi*_*ams 6

我建议在named_scope上观看Railscast剧集.

理想情况下,您正在寻找的代码是:

 named_scope :recent, 
   lambda { |*args| {:conditions => ["created_at > ?", (args.first || 7.days.ago)]} }
Run Code Online (Sandbox Code Playgroud)

这将允许您将参数传递给命名范围,或者它将默认为前7天.

你可以用它来调用它:

MyModel.recent
Run Code Online (Sandbox Code Playgroud)