0
我有四种型号。显示相似类别的产品RoR
产品 类别 分类 图片
Product.rb
has_many :images
has_many :categorizations
has_many :categories, :through => :categorizations
Category.rb
has_many :categorizations
has_many :products, :through => :categorizations
Categorization.rb
belongs_to :category
belongs_to :product
Image.rb
belongs_to :product
当用户点击以查看一个产品,我想有在底部示出的图像类似的产品的部分(基于相同的类别/类别)。
我想我的问题是,有这么多的嵌套关系,我不知道如何提取关系。
任何帮助表示赞赏。谢谢。
有'with_object'而不是'inject'来避免丑陋的'result_hash'结构。 – Reactormonk 2012-04-03 21:03:01
感谢您的帮助。我有几个问题。 – noob 2012-04-04 15:44:01
第一个是我改变了'result_hash [category.name.to_sym] => category.products.reject {| p | (==)(product)} to result_hash [category.name.to_sym] = category.productss.order('rand()')。limit(4).reject {| p | p == @product}'。但问题是,即使我将其限制为4个项目,但在刷新页面时,它仍然会显示更多项目。 – noob 2012-04-04 15:54:01