From 3bb017688726504798ff4d2d50dd6601543f6899 Mon Sep 17 00:00:00 2001 From: Gaetan Craig-Riou Date: Wed, 16 Apr 2025 14:56:01 +1000 Subject: [PATCH] Set up variant tags as searchable --- app/models/spree/variant.rb | 2 +- config/initializers/acts_as_taggable_on.rb | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/app/models/spree/variant.rb b/app/models/spree/variant.rb index 3f16cbcc70..63baad819e 100644 --- a/app/models/spree/variant.rb +++ b/app/models/spree/variant.rb @@ -21,7 +21,7 @@ module Spree acts_as_taggable searchable_attributes :sku, :display_as, :display_name, :primary_taxon_id, :supplier_id - searchable_associations :product, :default_price, :primary_taxon, :supplier + searchable_associations :product, :default_price, :primary_taxon, :supplier, :tags searchable_scopes :active, :deleted NAME_FIELDS = ["display_name", "display_as", "weight", "unit_value", "unit_description"].freeze diff --git a/config/initializers/acts_as_taggable_on.rb b/config/initializers/acts_as_taggable_on.rb index 08d8aa67fc..b6d569b85c 100644 --- a/config/initializers/acts_as_taggable_on.rb +++ b/config/initializers/acts_as_taggable_on.rb @@ -1 +1,19 @@ +# frozen_string_literal: true + ActsAsTaggableOn.force_lowercase = true + +# Monkey patch suggested as workaround to the allowlisted issue +# This may be removed when an official fix is included in Ransack +module ActsAsTaggableOn + class Tag + class << self + def ransackable_associations(_auth_object = nil) + ["taggings"] + end + + def ransackable_attributes(_auth_object = nil) + ["name"] + end + end + end +end