2014-10-11 56 views
0

我正在嘗試使用Spree作爲餐館的食物訂購系統。Spree:根據結帳流程的回答轉到下一個階段

我修改了Checkout流程,所以第一步是在Home Delivery或Shop Eating之間進行選擇。

如果用戶選擇「Delivery」,它將跳轉到地址頁面。 如果用戶選擇「Shop Eating」,它將跳過地址頁面。

我想我需要創建一個新的布爾列到一些Spree表爲這個(什麼表?),和, 我該怎麼說「如果用戶檢查商店飲食,跳過地址頁」???

謝謝!

我結帳流程

Spree::Order.class_eval do 
checkout_flow do 
    go_to_state :address 
    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 
    insert_checkout_step :seleccionar_delivery, :before => :address 
end 

回答

0

假設你會把「吃」上狂歡::訂單,簡單地說,go_to_state :address, unless: :eating?如果你想跳過這一步。

如果你想要去取決於飲食的價值地址或seleccionar_delivery:

go_to_state :address, unless: :eating? 
go_to_state :seleccionar_delivery, if: :eating? 
go_to_state :payment 

...結帳繼續正常。如果您已經覆蓋結帳流程,則不需要使用insert_checkout_step幫助程序,只需添加另一個go_to_state即可。我還建議selccionar_delivery的另一個名稱。但是這應該可以解決你的問題。

正如一個旁註,施普雷似乎只是一家餐廳開發的一點點。

相關問題