如何定义一个named_scope以返回在过去7天内创建的所有记录,然后如何在控制器中使用该命名范围?RoR:named_scope,过去7天内创建的所有记录?
4
A
回答
6
我会建议看Railscast Episode on named_scope。
理想情况下,你要寻找的代码如下:
named_scope :recent,
lambda { |*args| {:conditions => ["created_at > ?", (args.first || 7.days.ago)]} }
这将允许您将参数传递到指定的范围或将默认为前7天。
你会使用称之为:
MyModel.recent
0
您需要将named_scope传递给proc,以便每次调用named_scope时都会对其进行评估。否则,如果您指定Time.now,它将运行一次(在第一次调用时)并被“缓存”,直到应用程序重新启动。
named_scope \
:this_week,
:conditions => [
%created_at > :time!,
proc {{:time => Time.now}}
]
可以调用像 的named_scope @ ar_object.this_week
+0
该示例引发错误。 “未知类型%string%created_at” – 2008-11-25 18:20:18
相关问题
- 1. 在过去7天内创建的计数记录
- 2. 向过去7天内的所有行添加7天
- 3. 从过去的7天获取记录
- 4. 创建从过去的7天
- 5. SQL查询查找在过去30天内没有记录但在过去90天内有记录的用户
- 6. 过去7天的MySQL计数记录按0记录分组,
- 7. 检索过去7天当天的最后一条记录
- 8. 如何获得今天和过去7天记录流星JS?
- 9. 查找在过去90天内登录的所有Windows 7计算机
- 10. mysql查询检索过去15天内每天的记录数
- 11. 创建的所有记录
- 12. 搜索API限于过去7天内?
- 13. 获取过去7天,过去24小时内的MySQL
- 14. 在过去的7天
- 15. 未创建所有记录
- 16. 获取过去六个月内收到的所有记录
- 17. 获取今天在Rails中创建的所有记录
- 18. 如何删除今天创建的所有记录?
- 19. 查询记录在过去30天
- 20. 过去24小时内导轨列表创建/更新记录
- 21. SQL Server - 查找过去30天内有3次出现过的记录
- 22. Rails/SQl查询帮助:每天在过去7天内通过created_at查找所有内容?
- 23. 创建“空”记录当月的天没有记录
- 24. SQL获取7天内过期的记录
- 25. HABTM创建的所有记录的CakePHP
- 26. 查找过去“X”天创建或修改记录的最佳方法?
- 27. 号码,在过去7天登录至少一次,一天
- 28. 记录通过InputStream的所有内容
- 29. 选择“7天以下”的所有记录
- 30. SQL Server组过去24小时,过去7天和过去14天
很好,谢谢。 – 2008-11-25 18:32:12