2015-07-03 27 views
2

我正在使用Rails和Spree Commerce創建電子商務商店。我花了10分鐘設置一切並運行。我的國家和州在管理員配置設置中列出。當我要看看我的車,在填寫地址並點擊保存並繼續按鈕,我收到以下錯誤信息:禁用活動送貨熱潮

找不到運費爲所選項目

在我現在,我不想使用有效的運輸寶石或任何驗證地址是否可用的東西。我想要禁用送貨地址上的檢查功能。我只想讓客戶填寫只存儲在數據庫中的送貨地址。在我的情況下,每個距離的運費不是必需的。

+1

您是否需要根據客戶地址計算運費?如果沒有,只需使用統一費率,固定百分比或每件運費計算器並完全繞過active_shipping。 – michaelmichael

+0

不是。我只是想繞過主動航運。只將運送信息存儲到數據庫。 – FlowCastv

+0

我很困惑。 「主動運送」不是瘋狂安裝的默認部分。您必須選擇將spree_active_shipping添加到您的商店。 Spree可以在沒有spree_active_shipping gem的情況下將運送信息存儲到數據庫。應該沒有必要繞過它。只是不要安裝它。 https://github.com/spree-contrib/spree_active_shipping – michaelmichael

回答

4

爲@michaelmichael建議你可以做三件事情在這種情況下

  1. 使用免運費促銷活動。

或者

  • 跳過傳送步驟從你結帳流程。只是覆蓋階模型如下

    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 
    
  • 0

    沒有更多的信息,我不能給出一個結論性的回答你的問題,但我可以給一些一般準則。

    我認爲您很可能沒有正確設置區域,運輸方式或運輸類別。

    在發貨前您必須正確設置區域,運輸類別,運輸方式和默認庫存位置。否則Spree會在結賬時返回上面給出的相同錯誤。您的評論說,花了10分鐘才能讓商店正常運行,這讓我相信在您的設置中缺少某些東西。

    Milind Phirake上面的回答很好,但您不應該重寫任何Spree的訂單相關方法以獲得運輸工作。只需正確配置您的商店。

    請參閱Spree user guides on shipping瞭解有關必須設置的參數的信息才能運送。