2012-01-23 98 views
0

我有一個模型餐廳和模型closingdays。每家餐廳has_many截止日期。截止日期有一個日期屬性。ActiveRecord協會的動態條件

如何創建一個範圍向我顯示今天所有開放的餐廳(所有餐廳今天沒有closingday記錄)?

非常感謝!

克里斯

回答

0

我不知道你究竟是如何儲存一週的日子在你的表(文字數等?),但你可以通過一個lambda來命名的範圍 - 所以,你可以做這樣的事情:

named_scope :open_today, lambda { joins(:closing_days).where('open_day = ?', Time.now.wday) } 

未測試,但它應該讓你指出正確的方向。

+0

每個closingday記錄都有一個日期屬性,它存儲了一個真實的日期對象。截止日期不涉及到工作日,他們是特殊的日子,如聖誕節等 我遇到的問題與你的查詢是,我得到餐廳多次,每個closingday記錄一個記錄。但我只需要一個清潔的餐廳集合,今天開放。 –

+0

@ChrisCrown Hrm,很有趣 - 你可以根據餐廳ID進行分組,但這看起來像是一種黑客 - 我會多考慮一下。 – acoffman

+0

這也是我的感覺... –