2014-09-12 4 views
1

내 모델에 has_many through 관계가 있는데 쿼리 작성에 문제가 있습니다. 카테고리에는 각각 제품이 들어있는 네 가지 모델 속성 (남성, 여성, 티셔츠 및 후드)이 있습니다. 내가하고 싶은 것은 특정 카테고리 (예 : 모든 mens 제품)에 속한 모든 제품을 쿼리 한 다음 그 결과를 루프에서 사용하여 내보기에 제품 데이터를 표시하는 방법을 찾는 것입니다.관계를 통해 has_many를 쿼리하는 레일

내 모델 구조는 다음과 같습니다.

도움 주셔서 감사합니다. 각 범주의 제품을 통해 반복하려면

class Categorization < ActiveRecord::Base 
belongs_to :category 
belongs_to :product 
end 

답변

1

모델

내 제품 모델

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 

내 카테고리 지정 :

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 
관련 문제