2014-02-20 118 views
5

這是基於已解決的早期問題。我需要以不同的貨幣加載我的基於ruby的應用程序的銷售價格。我最近使用gem google_currency轉換基於Google API的價格。最近在某個時候它停止了工作,我不知道爲什麼。我嘗試了各種方式進行測試,但無法確定問題所在。Ruby的貨幣兌換寶石工作?

我現在試圖使用具有良好文檔的'exchange'gem,但是我使用的方法在運行時不會在視圖文件中產生任何東西。

根據交易所創業板的簡單轉換應該是這樣的:

def exchange4 
    puts 10.in(:eur).to(:usd) 

end 

但是它沒有加載在HTML視圖什麼。任何建議,包括其他工作的寶石歡迎!


目前該代碼似乎將傳遞但是現在動作控制器是告訴我它不知道的轉換率:

def exchange4(goods) 
    require 'money' 
    require 'money-rails' 

    exr = Money.new(1, goods.currency).exchange_to(buyer.currency) 
    puts exr 
end 

錯誤動作控制器是給是:

No conversion rate known for 'GBP' -> 'EUR' 

很奇怪..

回答

7

RubyMoney organization has av處理貨幣,金錢和交易所的不錯選擇。我使用money,它確實有效。對於Rails集成,他們有money-rails。交換

例子:

  • Money.us_dollar(100).exchange_to('EUR')

  • Money.new(100, 'USD').exchange_to('EUR')

您可以使用eu_central_bank寶石(與money兼容)提取所有的匯率。用法示例(在軌控制檯):

>> bank = EuCentralBank.new 
>> bank.update_rates # if bank.last_updated.blank? || bank.last_updated < 1.day.ago 
>> Money.default_bank = bank  

然後:

>> Money.new(1, 'GBP').exchange_to('EUR') 
=> #<Money fractional:1 currency:EUR> 
+0

感謝那些似乎幫助部分 - 請編輯帖子! – user2514224