diff --git a/app/services/cart_service.rb b/app/services/cart_service.rb index c4f3b5a5c0..35dcb720f0 100644 --- a/app/services/cart_service.rb +++ b/app/services/cart_service.rb @@ -106,15 +106,13 @@ class CartService end def read_variants_hash(data) - variants_array = [] - (data[:variants] || []).each do |variant_id, quantity| - if quantity.is_a?(ActionController::Parameters) - variants_array.push({ variant_id: variant_id, quantity: quantity[:quantity], max_quantity: quantity[:max_quantity] }) + (data[:variants] || []).map do |variant_id, quantity| + if quantity.is_a?(Hash) + { variant_id: variant_id, quantity: quantity[:quantity], max_quantity: quantity[:max_quantity] } else - variants_array.push({ variant_id: variant_id, quantity: quantity }) + { variant_id: variant_id, quantity: quantity } end end - variants_array end def cart_remove(variant_id)