diff --git a/app/models/spree/taxon.rb b/app/models/spree/taxon.rb index 7023959a26..0ccb9e6499 100644 --- a/app/models/spree/taxon.rb +++ b/app/models/spree/taxon.rb @@ -7,9 +7,12 @@ module Spree acts_as_nested_set dependent: :destroy belongs_to :taxonomy, class_name: 'Spree::Taxonomy', touch: true + has_many :variants, class_name: "Spree::Variant", foreign_key: "primary_taxon_id", inverse_of: :primary_taxon, dependent: :restrict_with_error + has_many :products, through: :variants, dependent: nil + before_create :set_permalink validates :name, presence: true @@ -77,7 +80,7 @@ module Spree taxons = Spree::Taxon .select("DISTINCT spree_taxons.id, ents_and_vars.enterprise_id") - .joins(products: :variants) + .joins(:variants) .joins(" INNER JOIN (#{ents_and_vars.to_sql}) AS ents_and_vars ON spree_variants.id = ents_and_vars.variant_id")