狂欢删除帐单邮寄地址
如何在Spree结帐例程中删除结算(或送货)地址? 我正在使用狂欢1.3
您可以通过在app/models/spree/order_decorator.rb
将此代码放入应用程序中来删除checkout_flow
定义中的交付步骤来删除送货地址:
Spree::Order.class_eval do checkout_flow do go_to_state :address 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
由于没有交货步骤,Spree不会要求订单的送货地址或交货信息。
如果你使用的是spree-core,我有一个替代品
在您的view / spree / checkout / edit文件中,有一个render语句,涉及error_messages.html.erb = render:partial =>’spree / shared / error_messages’,:locals => {:target => @order}
所以现在,您必须从_error_messages.html.erb中删除“ship”名称,然后它不会显示此类错误。
在spree / shared / _error_message文件中进行以下更改:
-target.errors.full_messages.each do | msg |
-unless(msg.include?(“Ship”))
= msg
请记住,在此处使用循环也相应地更改错误计数。 目前我没有使用它,所以发表评论
// = t(:errors_prohibited_this_record_from_being_saved,:count => target.errors.count)
我也在github和stackoverflow上对同一个问题做了评论 – https://github.com/spree/spree/issues/2571#issuecomment-13769093