这是基于之前已解决的问题。我需要为不同货币的基于ruby的应用程序加载销售价格。我最近使用gem google_currency
根据Google API转换价格。最近它停止了工作,我不明白为什么。我尝试过各种各样的方法,但无法解决问题所在。
我现在正在尝试使用具有良好文档的'exchange'gem,但是我使用的方法在运行时不会在视图文件中生成任何内容。
根据交换宝石的简单转换应该是这样的:
def exchange4
puts 10.in(:eur).to(:usd)
end
然而,它没有在html视图中加载任何内容。任何建议,包括其他工作宝石欢迎!
目前这段代码似乎会通过但是现在Action Controller告诉我它不知道转换率:
def exchange4(goods)
require 'money'
require 'money-rails'
exr = Money.new(1, goods.currency).exchange_to(buyer.currency)
puts exr
end
Action Controller提供的错误是:
No conversion rate known for 'GBP' -> 'EUR'
很奇怪..
答案 0 :(得分:7)
RubyMoney
组织有很好的选择来处理货币,货币和交易。我使用money它确实有效。对于Rails集成,他们有money-rails。
交换的例子:
Money.us_dollar(100).exchange_to('EUR')
Money.new(100, 'USD').exchange_to('EUR')
您可以使用eu_central_bank
gem(与money
兼容)来提取所有汇率。示例用法(在rails控制台中):
>> 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>