狂欢运输:如何限制USPS优先邮件运输方式的重量

时间:2013-10-16 17:34:56

标签: ruby-on-rails spree

使用Spree 2.0.5,我试图在不到13盎司的包裹上提供USPS一流的包裹服务,并且在包裹上提供优先邮件> = 13盎司。

我发现了这个可能已过时的解决方案http://madebydna.com/all/code/2010/05/26/setting-up-usps-shipping-with-spree.html,当逐字粘贴时,它会正确地限制第一类宗地方法的可用性。但是,做出看似明显的调整并不会影响优先邮件。

以下代码显然甚至没有被调用。原来有哪些?方法不会被覆盖,无论权重如何,优先邮件发送方法都可用。

#app/models/spree/calculator/hideprioritymail.rb
class Calculator::Usps::PriorityMail < Calculator::Usps::Base
  def self.description
    "USPS Priority Mail"
  end

  def available?(order)
    multiplier = Spree::ActiveShipping::Config[:unit_multiplier]
    weight = order.line_items.inject(0) do |weight, line_item|
      weight + (line_item.variant.weight ? (line_item.quantity * line_item.variant.weight * multiplier) : 0)
    end
    weight >= 13 ? false : true
  end
end

0 个答案:

没有答案