Ruby on rails 如果其中一个行项目为延期订单,则Spree将订单拆分为两批装运

Ruby on rails 如果其中一个行项目为延期订单,则Spree将订单拆分为两批装运,ruby-on-rails,ruby,spree,spree-3.1,Ruby On Rails,Ruby,Spree,Spree 3.1,我正在使用Spree版本3.1创建一个Spree应用程序,我面临一个问题:如果订单的任何行项目缺货,即使我正在使用Spree,Spree也会将订单拆分为两次装运,且运费加倍 Rails.application.config.spree.stock_splitters = [] 根据文件,这可以防止订单拆分 或者,如果不想拆分包,只需将上面的选项设置为 空数组。e、 g.在spree.rb中具有以下配置的存储 不会有任何包被拆分 这个问题有什么解决办法吗 我通过重写寄存器股票分割器初始值设定项解

我正在使用Spree版本3.1创建一个Spree应用程序,我面临一个问题:如果订单的任何行项目缺货,即使我正在使用Spree,Spree也会将订单拆分为两次装运,且运费加倍

Rails.application.config.spree.stock_splitters = []
根据文件,这可以防止订单拆分

或者,如果不想拆分包,只需将上面的选项设置为 空数组。e、 g.在spree.rb中具有以下配置的存储 不会有任何包被拆分


这个问题有什么解决办法吗

我通过重写寄存器股票分割器初始值设定项解决了这个问题

initializer 'spree.register.stock_splitters' do |app|
  app.config.spree.stock_splitters = []
end 
此修复程序:

关闭拆分装运

如果在任何情况下都不想拆分包,可以将config.spree.stock_splitters选项设置为空数组:

Rails.application.config.spree.stock_splitters = []
正如这里记录的那样,我似乎可以解决这个问题


项目中似乎已经有了关于这个bug的信息,您在这里发布之前对此进行了评论。根据错误的描述,您是否可以降级到spree
3.0.x
直到修复?我已经通过覆盖注册股票拆分器初始值设定项Hi Ahmed Ali解决了这个问题,您能告诉我您实际上是如何解决的,因为我得到的错误如下所示。“:main:Object(NoMethodError)的未定义方法“initializer”将上述代码添加到engine.rb文件中,还可以将Rails.application.config.spree.stock_splitters=[]添加到spree.rb