2013-08-16 28 views
2

我很想幫助解決我遇到的令人沮喪的問題。第一次設置Spree,但我在Rails中開發了3年,所以我很熟悉它的工作原理。Spree Commerce在結帳時出錯:「我們無法將所選商品發送到您的送貨地址。」

相當多的默認設置。但是,當我試圖結帳時,點擊地址頁面上的「保存並繼續」,我會在標題中看到錯誤。我可以從那裏錯誤是來自順序模型中看到:https://github.com/spree/spree/blob/2-0-stable/core/app/models/spree/order.rb

def ensure_available_shipping_rates 
    if shipments.empty? || shipments.any? { |shipment| shipment.shipping_rates.blank? } 
    errors.add(:base, Spree.t(:items_cannot_be_shipped)) and return false 
    end 
end 

有沒有容易能弄清楚其中的那些條件,返回true。如果它是我的應用程序,我只需添加一個調試器語句並以這種方式檢查事情。任何人都可以給我任何關於如何排除故障或嘗試嘗試的建議。

我在Rails 3.2.14,Spree 2-0-stable。

謝謝!

回答

3

有幾種方法可以解決這個問題。如果要添加調試語句,你可以打開寶石:

bundle show spree_core 

編輯的代碼,重新啓動服務器導軌和調試,你通常會。不要忘記把它改回來!

如果你想要有一點侵入性,你可以啓動一個軌道控制檯。抓住你正在使用的訂單(可能是Spree :: Order.last),並找出發生了什麼。

您可能會遇到運輸方式和區域問題。 Spree :: Zone列出了一組國家(例如,美國,加拿大和墨西哥可以定義您的北美區域)。 Spree :: ShippingMethod定義將某物運送到特定區域需要多少成本。這些設置都可以在管理界面中定義。

您可能選擇了一個不在定義區域中的國家,或者位於沒有裝運方法的定義區域中。 Spree不知道運送物品需要多少費用(或者如果可以運送到那裏),所以它會觸發你所看到的錯誤。

希望有所幫助。祝你好運讓瘋狂起來吧!

0

我最終從頭開始一個新的應用程序(因爲我沒有太多的東西),它現在工作正常。我記得我在添加樣本數據時遇到了一個錯誤,我認爲我已經解決了這個問題,但也許這是它的後面。

相關問題