Я новичок в Шпрее и пытаюсь выяснить причину:
В одной подпрограмме под названием recalculate_taxes
У меня есть эта строка:
@order.create_tax_charge!
После этого я перехожу и изменяю платежный адрес пользователя с неналоговой зоны (Флорида) на налоговую зону (Нью-Йорк). Тогда я звоню:
@order.update_attributes(order_params)
@order.update_with_updater!
но корректировки не применяются, @order.total
по-прежнему равен @order.item_total
.
Но если я не позвоню @order.create_tax_charge!
до этого, все работает как положено. То есть, когда я это снова называю:
@order.update_attributes(order_params)
@order.update_with_updater!
Я вижу, что корректировки были применены, и @order.total
теперь НЕ равен @order.item_total
, но немного больше, следовательно, налоги для загруженных налогов были применены к заказ (порядок. настройки).
Я копался в ядре Spree, чтобы найти подсказку, почему это происходит, но безуспешно.