我如何定义一个 named_scope 来返回过去 7 天内创建的所有记录,然后我如何在 Controller 中使用该命名范围?

最佳答案

我建议观看 Railscast Episode on named_scope

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

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

这将允许您将参数传递给命名范围,否则它将默认为前 7 天。

您可以使用以下方法调用它:
MyModel.recent

关于ruby-on-rails - RoR : named_scope, 过去 7 天内创建的所有记录?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/318246/

10-10 12:31