我有这种关系
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 :with_apartments, lambda { joins(:appartments).group('appartments.id').uniq { |h| h[:id] }}
所以我可以在控制器逻辑中创建一个house.with_apartments。这很好,所以我只得到页面上有公寓的房子。没有公寓的房子没有显示出来。
但现在我想与我的类别模型建立关联(many_to_many)。所以“只显示有公寓和类别的房子= X”
答案 0 :(得分:2)
试试这个:
# in category.rb
has_many :category_join_table
has_many :apartments, :through => :category_join_table
has_many :houses, :through => :apartments