2011-10-07 52 views
0

我试图检索对象槽活动记录的清单,但没有成功获得一个嵌套的对象收集槽活动记录

我有一个模型,它是:商店有很多的产品,产品具有一个供应商

class Store < ActiveRecord::Base 
    has_many :products 
end 

class Product < ActiveRecord::Base 
    belongs_to :supplier 
    belongs_to :store 
end 

class Supplier < ActiveRecord::Base 
    has_many :products 
end 

我试图得到这样从商店的低谷产品供应商的名单:

self.products.supplier 

这让我从一个ActiveRecord的未定义的方法例外“供应商” ::关系

我应该为此做一个自定义查找器还是有更好的方法?

回答

1

你可以使用

self.products.map{|product| product.suppliers} 

或者你可以做到这一点,这在我看来是更好的

class Store 
    has_many :suppliers, :through => :products 
end 

# Then you can use: 
store.suppliers