2

すべての has_many アソシエーションが条件に一致するレコードを返すスコープの作成に問題があります。

私はこれらのモデルを持っています:

class Product
  has_many :listings
end

class Listing
  belongs_to :product
  belongs_to :issue
end

class Issue
  has_many :listings
end

基本的に、製品は複数の異なる号に掲載できます。特定の号に掲載されていないすべての製品を入手できるようにしたいと考えています。これまでのところ、製品モデルに次のスコープがあります。

scope :not_listed_in, lambda { |issue|
  joins(:listings)
    .where("listings.issue_id != ?", issue.id)
}

少なくとも 1 つのリスティングが問題に含まれていない製品が検出されるため、これは機能しません。特定の問題内にリストがないすべての製品を求める何らかの方法が必要です.

4

1 に答える 1