gpt4 book ai didi

ruby-on-rails - Spreecommerce 促销 "User"规则为所有用户创建调整

转载 作者:行者123 更新时间:2023-12-04 21:57:12 26 4
gpt4 key购买 nike

我有一个 rails/spree 商店应用程序,它使用 spree's "User" rule 进行长期促销.问题是,在促销事件期间,为商店中促销适用的每个订单创建了不合格的调整。这在数据库中增加了显着的膨胀并减慢了结帐速度。

奇怪的是,具有类似限制规则的其他促销事件不会这样做。我如何修改规则或以其他方式停止为所有订单创建不合格的调整?

最佳答案

您可以在订单装饰器中添加一个函数,该函数在转换完成时触发。让它删除所有不合格的调整

#app/models/spree/order_decorator.rb

module Spree
Order.class_eval do
state_machine do
after_transition :to => :complete do |order|
order.delete_ineligible_adjustments
end
end

def delete_ineligible_adjustments
self.adjustments.promotion.where(eligible: false).destroy_all
end
end
end

关于ruby-on-rails - Spreecommerce 促销 "User"规则为所有用户创建调整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30519700/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com