我正在使用Rails和Spree Commerce创建一个电子商务商店。我花了10分钟来设置所有东西并运行。我的国家/地区列在管理配置设置中。当我即将查看我的购物车时,请填写地址并点击“保存并继续”按钮,我收到以下错误消息:
找不到所选商品的运费
就我而言,我现在不想使用有效的运送宝石或任何验证地址可用的东西。我想禁用送货地址上的检查功能。我只想让客户填写仅存储在数据库中的送货地址。在我的情况下,每个距离的运费不是必需的。
答案 0 :(得分:4)
在这种情况下你可以做三件事
或者
从结帐流程中略过交付步骤。只需覆盖订单模型,如下所示
Spree::Order.class_eval do
...
checkout_flow do
go_to_state :address
# go_to_state :delivery <== remove this line
go_to_state :payment, :if => lambda { |order| order.payment_required? }
go_to_state :confirm, :if => lambda { |order| order.confirmation_required? }
go_to_state :complete
remove_transition :from => :delivery, :to => :confirm
end
end
或
重写此方法,每次都返回true。 (建议不要使用此选项)
Spree::Order.class_eval do
...
def ensure_available_shipping_rates
true
end
end
答案 1 :(得分:0)
如果没有更多信息,我无法对您的问题给出最终答案,但我可以提供一些一般性指导。
我认为您很可能没有正确设置区域,运输方式或运输类别。
在发货之前,您必须正确设置区域,运输类别,运输方式和默认库存位置。否则Spree将在您上面提供的结账时返回相同的错误。您的评论让您在10分钟内启动并运行商店,这让我相信您的设置中缺少某些内容。
Milind Phirake上面的答案很好,但你不应该超越Spree的任何订单相关方法来运送工作。只需正确配置您的商店。
有关您必须设置的参数的信息,请参阅Spree user guides on shipping。