Ruby on rails Rails查询具有多个直通关系

Ruby on rails Rails查询具有多个直通关系,ruby-on-rails,ruby,activerecord,Ruby On Rails,Ruby,Activerecord,我的模型中有很多贯穿关系,我在编写查询时遇到困难。类别有四个模型属性(男士、女士、t恤和连帽衫),每个属性中都包含产品。我想做的是找到一种方法来查询属于特定类别的所有产品(例如所有男士产品),然后在循环中使用该结果在我的视图中显示产品数据 我的模型结构如下 谢谢你的帮助 我的产品模型 class Product < ActiveRecord::Base has_many :options, dependent: :destroy has_many :images, dependent:

我的模型中有很多贯穿关系,我在编写查询时遇到困难。类别有四个模型属性(男士、女士、t恤和连帽衫),每个属性中都包含产品。我想做的是找到一种方法来查询属于特定类别的所有产品(例如所有男士产品),然后在循环中使用该结果在我的视图中显示产品数据

我的模型结构如下

谢谢你的帮助

我的产品模型

class Product < ActiveRecord::Base
 has_many :options, dependent: :destroy
 has_many :images, dependent: :destroy

 has_many :categorizations
 has_many :categories, through: :categorizations

 def image_url
  self.images.first.url
 end

 def has_image?
  self.images.exists?
 end

end
类产品
我的分类模型

class Category < ActiveRecord::Base
 has_many :categorizations
 has_many :products, through: :categorizations
end
类别
我的分类模型

class Categorization < ActiveRecord::Base
 belongs_to :category
 belongs_to :product
end
类分类
循环浏览每个类别的产品:

Category.all.each do |category|
  category.products.each do |product|
    puts product
  end
end
category = Category.find(2)
category.products.each do |product|
  puts product
end
或者查找单个类别并循环浏览其产品:

Category.all.each do |category|
  category.products.each do |product|
    puts product
  end
end
category = Category.find(2)
category.products.each do |product|
  puts product
end