我是Spree的新手,我正在努力寻找原因:
在一个名为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
,但还多了一点,因此,已计税的税额为已应用于订单(order.adjustments)。
我一直在挖掘Spree核心,以找到一些提示为什么发生这种情况但没有成功。