2013-02-14 59 views
1

如果我只包括查詢等這如何在Rails中包含範圍模型?

@projects = current_user.projects.all(include: :reviews) 

一切就OK了嵌套模式。但Review模型有一定的範圍,我需要在上面的查詢中實現。我想這

@projects = current_user.projects.all(include: :reviews.unreaded) 

,並得到錯誤。什麼是正確的方法來做到這一點?

回答

1

一種選擇是基於範圍,以創建關聯,大致爲:

@projects = current_user.projects.all(include: :unread_reviews) 

然後創建一個unread_reviews協會,大致爲:

class Project < ... 
    has_many :unread_reviews, :conditions => ['read=?', true], :class_name => "Review" 

(更換上述has_many與你的關聯事項,顯然)。

這種技術在association docs討論。