2017-07-25 38 views
0

在我的狂歡商店,我已經將貨幣設置從美元更改爲澳元,這似乎大多數工作,但對於現有用戶,當項目添加到購物車時,購物車顯示舊美元價格,儘管在添加之前顯示新的澳元價格到購物車。我該如何切換瘋狂用戶的貨幣?

檢查導軌控制檯中的訂單顯示訂單仍設置爲美元,新用戶的訂單設置爲AUD。我怎樣才能改變它,所有用戶現在使用新貨幣?

+0

你是如何讓這種變化?您是否在更換spree初始化程序後運行rake db:seed? –

+0

通過在常規設置中切換設置在管理頁面中更改它。我沒有再次運行db:seed。 – Qwertie

+1

我不會感到驚訝的是,用戶配置文件中有一個字段存儲他/她的偏好。 –

回答

1

在order.rb有一個before_validation

before_validation :set_currency

和代碼此方法是

def set_currency 
    self.currency = Spree::Config[:currency] if self[:currency].nil? 
end 
這裏

貨幣設置爲默認只有當它不存在貨幣,所以如果你希望所有活動訂單使用通過常規設置設置的新貨幣進行修改,您可以修改上述方法以確保在驗證前始終設置貨幣。

def set_currency 
    self.currency = Spree::Config[:currency] 
end 

請讓我知道如果你仍然面臨的任何問題