1

如果我只是在查询中包含嵌套模型,这样

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

一切都好。但是 Review 模型有一些范围,我需要在上面的查询中实现。我试试这个

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

并得到错误。这样做的正确方法是什么?

4

1 回答 1

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您的协会详细信息。)

该技术在关联文档中进行了讨论。

于 2013-02-14T22:48:56.427 回答