我有一个简单的rails应用程序,就像一个事件系统,它有一个start_at
字段和一个end_at
字段。我希望能够显示在当前月份为start_at
个月的事件。我定义了一个范围如下所示:如何使用ActiveRecord查找日期在当前月份内的记录?
scope :this_months_event, lamda{where("start_at = ?" Time.zone.now.month)}
每当我在控制台窗口中试用这个,我得到一个空的数组。我观察到start_at
字段的月份没有被提取,所以它找不到start_at
月份,所以它会返回空。
有谁知道一个好办法做到这一点还是我怎么能传递start_at
个月这样,当我打电话Event.this_months_event
,我得到这个目前每月的所有事件,如果可能的一个范围,以获取过去的事件,另一个用来取目前的事件。
您将需要一个'lambda'有,否则你的代码可能会产生意外行为在生产,其中类缓存。 – rubish
谢谢。编辑我的答案。 –
非常感谢这帮助很好 – Uchenna