我想改变"产品"我的Spree 3.0.x商店概述,仅显示可提供一种或多种变体的产品。这将在正常范围之上(可用,当前货币的价格)。 它也会影响分类法列表。
但我不想影响搜索页面:搜索时,应显示不可用的产品。
据我所知,{
"name": "myLocalProject", // unchanged
"version": "0.0.1", // unchanged
"devDependencies": {
"angular": "1.3.15", //version updated
"angular-resource": "1.3.15" // added to local
},
"dependencies": {
"components-font-awesome": "*" //stays the same in local
},
"resolutions": {
"angular": "1.3.15"
}
}
和Spree:Product
都没有这样的范围。
如果没有这样的范围,那么在Spree::Product scopes.rb
上写这个范围的joins
和includes
的正确链是什么?
答案 0 :(得分:3)
我可能会从以下内容开始:
Spree::Product.joins(
variants_including_master: :stock_items
).group('spree_products.id').having("SUM(count_on_hand) > 0")
这应该让你接近你正在寻找的东西。
答案 1 :(得分:1)
您可以使用此扩展程序:
https://github.com/swrobel/spree_zero_stock_products/
默认情况下,它只是在Spree::Product
添加范围而不更改默认搜索范围。您可以方便地使用提供的:on_hand
范围。