2012-10-21 87 views
4

如何刪除Spree結帳例程中的帳單(或發貨)地址?Spree刪除帳單地址

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 

由於不必傳送步驟:我使用的是大禮包1.3

回答

7

您可以通過把這個代碼的應用程序內的app/models/spree/order_decorator.rb您移除checkout_flow定義傳送步驟去除航運地址那裏,Spree將不會要求提供訂單的送貨地址或送貨信息。

+1

我已經試過了,但我仍然得到驗證錯誤(在交付爲必填項)。貨物字段已從您的地址表單中刪除。 – Maoko

+0

是的..我也得到驗證錯誤:( – shajin

0

我對這個替代的,如果你正在使用大禮包核心

在你看來/大禮包/結算/編輯文件,還有一種涉及error_messages.html.erb =渲染渲染聲明:部分=>'spree/shared/error_messages',:locals => {:target => @order}

現在,您必須從_error_messages.html.erb中刪除「ship」名稱,然後它不會顯示此內容有點錯誤。

讓你大禮包/共享/ _error_message文件中的一些以下更改:

-target.errors.full_messages.each做|留言|
        -unless(msg.include?( 「船舶」))
                =味精

記住,更改也是錯誤計數因此這裏使用循環。 目前我沒有使用它,所以使它評論

// = T在GitHub上和計算器同樣的問題(:errors_prohibited_this_record_from_being_saved,數=> target.errors.count)


我也作出了評論 - https://github.com/spree/spree/issues/2571#issuecomment-13769093

https://stackoverflow.com/questions/14891781/how-to-remove-the-shipping-address-validation-in-spree-checkout-process/14957973#comment20997203_14957973