如何在 Spree 中按分类单元 属性 对产品进行排序

How to sort products by a taxon property in Spree

我继承的 Spree (2.3.4) 应用程序有一个名为 "Makers" 的分类法,其中多个分类单元由 'taxonomy_id' 关联。我的任务是按分类单元 'name' 属性 分类产品,例如

Spree::Product.order('taxon.name DESC')

我想我需要对产品 table 做一个 includes,但我不确定如何正确地写。

如何包含正确的分类法以便按 属性 个分类单元排序?谢谢

您可以直接在本地覆盖此 controller,并更改您要作为排序依据的属性。只选择您要使用的方法,而不是选择整个控制器代码。让我知道我是否可以为您提供更多帮助。

注意 - 请确定,您覆盖控制器的路径与 github 中的路径完全相同。

想通了:

Spree::Product.includes(:taxons).where(spree_taxons: {taxonomy_id: Spree::Taxonomy.find_by(name: 'Makers').id}).order("spree_taxons.name desc")

我不知道你可以这样使用 .where()