こんな関係を持っています
class House
has_many :apartments
end
class Apartments
belongs_to :house
has_many :category_join_table
has_many :categories, :through => :category_join_table
end
「アパートのある家だけを表示する」という目的で、家のモデルにscopeメソッドを作成しました
scope :with_apartments, lambda { joins(:appartments).group('appartments.id').uniq { |h| h[:id] }}
だから私はコントローラーロジックでhouse.with_apartmentsを作ることができます。これはうまく機能するので、ページにアパートのある家だけを取得します。そして、アパートのない家は表示されませんでした。
しかし今、私は自分のカテゴリ モデル (many_to_many) に関連付けたいと考えています。したがって、「アパートとカテゴリ = X のある家のみを表示する」