Ruby货币交换宝石有效吗?

时间:2014-02-20 19:48:10

标签: ruby-on-rails ruby

这是基于之前已解决的问题。我需要为不同货币的基于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'

很奇怪..

1 个答案:

答案 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>