我有一个协会,
Shop habtm Products
Product habtm Shops
Shop belongs_to Merchant
为方便起见,我还宣布了
Merchant has_many :products, :through=>:shops
在我的产品控制器中,
@products = current_user.merchant.products
当我<%=debug @products %>
时,该集合包含同一对象的多个副本。
这是正常还是我通过一起宣布HABTM和has_many来搞砸自己?
如果这是正常的,有没有办法调用产品而不会出现重复的条目?
谢谢。
更新
我意识到这应该没问题,因为habtm
介于Shops
和Products
之间。 Merchant has_many Products
。product.merchant
。如果不在产品模型中设置外键,是否可以调用{{1}}之类的东西?
答案 0 :(得分:0)
如果您的商家有一些商店提供相同的产品,这是正常行为。
答案 1 :(得分:0)
您可以使用distinct
:
@products = current_user.merchant.products.distinct(:product_id)