2012-07-11 22 views
0

我有以下情況。Rails - 檢索未來協會的最佳方式

我有一個項目模型,它有許多會議,有一個日期。

class Project < ActiveRecord::Model 
    has_many :meetings 
end 

class Meeting < ActiveRecord::Model 
    belongs_to :project 

    validates_presence_of :meeting_date 
end 

什麼是cleanes最effiecient的方法來檢索未來會議(即meeting.meeting_date> Time.now)?

非常感謝。

回答

5

在會議模式試試這個:

scope :future_meetings, lambda{where(["meetings.meeting_date > ?",Time.now])} 

參考吧:

@project.meetings.future_meetings 
+0

這似乎是:未來應該是在一個會議的範圍,而不是項目的範圍。有沒有一種方法可以清楚地定義範圍,然後根據它來獲取future_meetings? – 2012-07-11 10:01:46

+0

我更新了答案。它應該工作,因爲範圍只定義了相關會議的過濾器。 – Matzi 2012-07-11 10:09:58

+4

稍微更習慣於將範圍命名爲「未來」,不需要重複模型名稱。 – tokland 2012-07-11 10:23:47