Ruby Shopify定制配送脚本-删除特定产品的配送费率

Ruby Shopify定制配送脚本-删除特定产品的配送费率,ruby,e-commerce,shopify,Ruby,E Commerce,Shopify,所以我想我也快找到工作了 我正在尝试添加一个自定义脚本,如果购物车中选择了特定的国家/地区和产品,则删除所有配送选项 我以为下面的代码可以工作,但似乎没有,我没有得到任何错误 上下文- 如果产品有危险品标签且在英国境外,则删除所有装运选项并显示消息“我们无法装运到您的国家” 我可以删除所有的发货方式,但无法将邮件放入收银台。你能解决这个问题吗 Hazmat_Tag= 'hazmat'; isHazmat = false; Input.cart.line_items.each do |item|

所以我想我也快找到工作了

我正在尝试添加一个自定义脚本,如果购物车中选择了特定的国家/地区和产品,则删除所有配送选项

我以为下面的代码可以工作,但似乎没有,我没有得到任何错误

上下文- 如果产品有危险品标签且在英国境外,则删除所有装运选项并显示消息“我们无法装运到您的国家”


我可以删除所有的发货方式,但无法将邮件放入收银台。你能解决这个问题吗

Hazmat_Tag= 'hazmat';
isHazmat = false;

Input.cart.line_items.each do |item| 
  if item.variant.product.tags.include?(Hazmat_Tag)
    isHazmat = true;
    break
  end
end

Output.shipping_rates = Input.shipping_rates.delete_if do |shipping_rate|
  if isHazmat && Input.cart.shipping_address.country_code != 'UK'
    shipping_rate
  end
end
--或---

-编辑- 英国使用GB

Hazmat_Tag= 'hazmat';
isHazmat = false;

Input.cart.line_items.each do |item| 
  if item.variant.product.tags.include?(Hazmat_Tag)
    isHazmat = true;
    break
  end
end

Output.shipping_rates = Input.shipping_rates.delete_if do |shipping_rate|
  if isHazmat && Input.cart.shipping_address.country_code != 'UK'
    shipping_rate
  end
end
Hazmat_Tag= 'hazmat';

if Input.cart.shipping_address.country_code != 'UK' && Input.cart.line_items.any?{|item| item.variant.product.tags.include? Hazmat_Tag}
  Input.shipping_rates.delete_if do |shipping_rate|
      shipping_rate
  end
end

Output.shipping_rates = Input.shipping_rates