2013-12-19 56 views
0

我爲我的應用程序使用了Ruby Money gem (For rails),我想爲每個訂單保存使用的貨幣匯率。Ruby Money gem

我的基本貨幣是美元,我給我的用戶選擇支付歐元,除了我想記錄使用的貨幣兌換率的訂單。

我只是找不到一個方法從這個庫中獲取使用率,任何人都知道如何做到這一點?

我也在尋找這方面的最佳做法,現在我打算將用戶貨幣的order_lines價格保存並保存每行使用的貨幣。由於我原來的價格是以美元計價的,我還以每個訂單行的美元價格作爲參考。

在此先感謝!

+0

更多信息你可能會得到更好的答案,詢問關於錢的問題 - 路軌寶石。領導維護者在那裏非常活躍。 – semmons99

回答

1

在這個例子中銀行:

# config/initializers/money.rb 
dev_bank = Money::Bank::VariableExchange.new 
dev_bank.add_rate("EUR", "USD", 1.35) 
dev_bank.add_rate("USD", "EUR", 1/1.35) 
Money.default_bank = dev_bank 

,你可以這樣做:

# somewhere else in your code 
Money.default_bank.get_rate('EUR', 'USD') 

看到documentation

0

看起來您應該使用exchange bank objectmoney.rb initializer在您的配置代碼中設置匯率,在這種情況下,您已經可以訪問代碼中的匯率。

如果由於某種原因您只能訪問匯率轉換的輸入和輸出,您應該可以自己計算匯率。

+0

感謝您的回覆,如果我自己計算費率,由於Money寶石中的舍入因素有點偏離。我將如何從money.rb初始化程序獲取配置值? – Daniel

+0

我有點在這裏僞裝 - 我從來沒有使用這個寶石 - 但如果money.rb是如何設置匯率,那麼該文件應該在您的源代碼,也許在配置/初始化。 –