首页 > 解决方案 > Rails 中的 Google Finance 货币转换器问题

问题描述

我正在研究 Google 货币转换器,但它不起作用。它只是重定向到:

http://finance.google.com:80/bctzjpnsun/converter?a=1&from=EUR&to=USD

或者它给出错误 404 Not Found

这是我的代码:

宝石文件:

gem 'money'
gem 'google_currency', '~> 3.4.1'

转换法

def self.exchange_to_USD annual_salary, currency
  begin
    mothly_salary = annual_salary / 12
    if currency.present?
      salary = Money.new(mothly_salary, currency).exchange_to(:USD).fractional
    else
      salary = mothly_salary  
    end
  rescue Money::Bank::UnknownRate => e
    salary = mothly_salary
  rescue Exception => e
    salary = mothly_salary
  end
  salary
end

应用程序.rb 文件

require 'money'
require 'money/bank/google_currency'

# set the seconds after than the current rates are automatically expired
# by default, they never expire
Money::Bank::GoogleCurrency.ttl_in_seconds = 86400

# set default bank to instance of GoogleCurrency
Money.default_bank = Money::Bank::GoogleCurrency.new

标签: ruby-on-rails-4convertercurrencygoogle-finance

解决方案


改为使用eu_central_bank

我们最终更换google_currencyeu_central_bank它,它非常简单并且效果很好。它是其中的一部分,RubyMoney因此应该得到很好的维护。基本替换如下所示:

eu_central_bank = EuCentralBank.new

eu_central_bank.update_rates # TODO: Make this use a cache in a shared directory and just update it every day.

Money.default_bank = eu_central_bank

绝对是一个值得考虑的好选择。


推荐阅读