我有一個簡單的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