Я хочу вернуть значение вне цикла.
@order.cart.line_items.to_a.sum { |li|
if li.shop_product.method_1?
(li.shop_product.print_locations.to_a.sum { |pl| pl.vendor_price }) + li.shop_product.product.vendor_product.price_method_1
elsif li.shop_product.method_2?
(li.shop_product.print_locations.to_a.sum { |pl| pl.vendor_price }) + li.shop_product.product.vendor_product.price_method_2
end
}
это возвращает мне значение, которое я хотел бы получить.
На мой взгляд, что-то вроде:
@order.cart.line_items.to_a.sum { |li|
if li.shop_product.method_1?
method_1_price = (li.shop_product.print_locations.to_a.sum { |pl| pl.vendor_price }) + li.shop_product.product.vendor_product.price_method_1
elsif li.shop_product.method_2?
method_2_price = (li.shop_product.print_locations.to_a.sum { |pl| pl.vendor_price }) + li.shop_product.product.vendor_product.price_method_2
end
}
, а затем с помощью:
price = method_1_price + method_2_price
.., чтобы получить окончательную цену.
Как использовать значение из цикла внецикл?
Я пробовал второй фрагмент кода, но он не позволяет мне использовать значения вне цикла.Я искал в Google, но мало что показывает, что было полезно