Ruby on rails 4 Spree2.1.0。如何避免在创建订单时选择装运方式

Ruby on rails 4 Spree2.1.0。如何避免在创建订单时选择装运方式,ruby-on-rails-4,spree,Ruby On Rails 4,Spree,我没有必要选择装运方式,因为这是唯一的一种。装运价格仍取决于地址和地点。如何避免在创建订单时选择装运方式?从文档(可在此处找到:)中,您可以如下更改签出流程: checkout_flow do go_to_state :payment go_to_state :complete end Spree::Order.checkout_flow do go_to_state :address #go_to_state :delivery <= I've commented th

我没有必要选择装运方式,因为这是唯一的一种。装运价格仍取决于地址和地点。如何避免在创建订单时选择装运方式?

从文档(可在此处找到:)中,您可以如下更改签出流程:

checkout_flow do
  go_to_state :payment
  go_to_state :complete
end
Spree::Order.checkout_flow do
  go_to_state :address
  #go_to_state :delivery <= I've commented this line.
  go_to_state :payment, if: ->(order) {
    order.update_totals
    order.payment_required?
  }
  go_to_state :confirm, if: ->(order) { order.confirmation_required? }
  go_to_state :complete
  remove_transition from: :delivery, to: :confirm
end
Spree::Order.class_eval do
  remove_checkout_step :delivery
end
因此,我认为您的代码应该如下所示:

checkout_flow do
  go_to_state :payment
  go_to_state :complete
end
Spree::Order.checkout_flow do
  go_to_state :address
  #go_to_state :delivery <= I've commented this line.
  go_to_state :payment, if: ->(order) {
    order.update_totals
    order.payment_required?
  }
  go_to_state :confirm, if: ->(order) { order.confirmation_required? }
  go_to_state :complete
  remove_transition from: :delivery, to: :confirm
end
Spree::Order.class_eval do
  remove_checkout_step :delivery
end
这会让你走上正确的方向