1

このようなクエリにネストされたモデルを含めるだけの場合

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

すべて大丈夫です。ただし、レビュー モデルにはスコープがあり、上記のクエリで実装する必要があります。私はこれを試しています

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

とエラーになります。これを行う正しい方法は何ですか?

4

1 に答える 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 に答える