0

3つのモデルがあるとしましょう...

Product
 belongs_to :ProductCategory
 belongs_to :Manufacturer

ProductCategory
 has_many :products

Manufacturer
 has_many :products

product_category.manufacturers のような呼び出しを使用して、その ProductCategory 内の製品の一連の製造元の ProductCategory のインスタンスを要求したいと思います。

私は現在、次のように Products モデルに実装しています。

def manufacturers
  Manufacturer.find(self.products.pluck(:manufacturer_id).uniq.to_a
end

より良い「レールウェイ」はありますか?

ありがとう!

4

1 に答える 1

2

はい、これは非常によく解決された問題であり、Rails で Associations を使用する際の基本的な部分です。あなたがしたいhas_many :through

class ProductCategory
  has_many :products
  has_many :manufacturers, :through => :products
end
于 2012-12-11T13:41:23.450 に答える