From db92e9d91c8d68bc5eb336d6e95654a6533abcc3 Mon Sep 17 00:00:00 2001 From: Cillian O'Ruanaidh Date: Fri, 9 Sep 2022 16:29:23 +0100 Subject: [PATCH] Fix error from OrderCycle#distributor_shipping methods return ActiveRecord::Relation sometimes and Array other times Now it will return ActiveRecord::Relation consistently. --- app/models/order_cycle.rb | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/app/models/order_cycle.rb b/app/models/order_cycle.rb index f722cbbcf4..e31fe4bf82 100644 --- a/app/models/order_cycle.rb +++ b/app/models/order_cycle.rb @@ -294,15 +294,14 @@ class OrderCycle < ApplicationRecord end def distributor_shipping_methods - if simple? + if simple? || selected_distributor_shipping_methods.none? attachable_distributor_shipping_methods else - attachable_distributor_shipping_methods.reject do |distributor_shipping_method| - selected_distributor_shipping_methods. - map(&:distributor_id). - include?(distributor_shipping_method.distributor_id) && - !selected_distributor_shipping_methods.include?(distributor_shipping_method) - end + attachable_distributor_shipping_methods.where( + "distributors_shipping_methods.id IN (?) OR distributor_id NOT IN (?)", + selected_distributor_shipping_methods.map(&:id), + selected_distributor_shipping_methods.map(&:distributor_id) + ) end end