Spree Rails HasManyThroughOrderError для предварительно созданного has_many в декораторе
У меня проблемы с декоратором продукта при обновлении с spree 3.2.1 до 3.4.5. Я использую драгоценный камень spree_drop_ship, и он приносит отношения для продукта и поставщика через основной вариант продукта.
Rails не принимает это и выдает мне HasManyThroughOrderError. Я получаю сообщение:
Не может иметь has_many: через ассоциацию "Spree::Supplier#products", которая проходит через "Spree:: Supplier # варианты" до определения сквозной ассоциации.
Этот код, как показано здесь: https://github.com/spree-contrib/spree_drop_ship/blob/master/app/models/spree/product_decorator.rb
module Dropship
module Spree
module ProductDecorator
def self.prepended(base)
base.has_many :suppliers, through: :master
end
end
end
end
Spree::Product.prepend Dropship::Spree::ProductDecorator
Отношение продукта к основному варианту устанавливается в исходном файле product.rb. Кажется, это работает для других отношений. Как я могу гарантировать, что это отношение поставщика через мастера определено ПОСЛЕ оригинала?
Заранее спасибо.