【问题标题】:rails 3.1 multiple currenciesrails 3.1 多种货币
【发布时间】:2023-03-23 21:00:01
【问题描述】:

我必须在应用程序中添加更多货币,例如在这个网络应用程序http://www.designconnected.com/ 如您所见,它以您选择的任何货币转换价格并保持这种方式。 我一直在寻找已经过时的 gem,教程找不到,在 stackoverflow 中有一些关于它的问题,但没有一个得到我需要的。

如果你们中有人知道最近发布的更好的宝石...请告诉我。 或者如果没有宝石,我应该向 current_user 添加一个 currency_id 以便应用程序将为该用户显示正确的货币.. 但是我从哪里获取货币汇率.. 我一直在寻找解决方案现在 3 天,什么也没有。

感谢您的任何建议..

此网址已检查:

https://stackoverflow.com/questions/1368010/rails-currency-gem-or-plugin

Rails 3 - Multiple Currencies

https://github.com/RubyMoney/money

最后一个与 https://github.com/RubyMoney/google_currency 组合看起来是我需要的那个。但现在是获取有关如何使用它的教程的正确时间。

如果无法找到/获得关于此的完整教程,请提供一些关于如何开始的想法。 谢谢。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1


    【解决方案1】:

    https://github.com/RubyMoney/money-railshttps://github.com/RubyMoney/google_currency 是要走的路。这不是我问的或问题中的,但无论如何这是我现在最接近的答案。以下是我为使其正常工作所做的几个步骤:

    gem文件中:

    gem "json" #if you don't have it
    gem "money"
    gem "google_currency"
    

    config/initializers中创建一个文件money.rb

    require 'money'
    require 'money/bank/google_currency'
    require 'json'
    MultiJson.engine = :json_gem
    Money.default_bank = Money::Bank::GoogleCurrency.new
    

    product.rb 中(或任何需要转换价格的型号)

    composed_of :price,
        :class_name => "Money",
        :mapping => [%w(price price), %w(currency currency_as_string)],
        :constructor => Proc.new { |price, currency| Money.new(price || 0, currency || Money.default_currency) },
        :converter => Proc.new { |value| value.respond_to?(:to_money) ? value.to_money : raise(ArgumentError, "Can't convert #{value.class} to Money") }
    

    在视图文件中:

    <%= number_to_currency(product.price.exchange_to(:EUR)) %>
    

    例如,我有一个 IT 语言环境(意大利语) - 意大利货币现在是欧元:

    您可以将价格转换为欧元。它对我来说非常有用,money gem 使用 Google_currency 将价格从美元转换为欧元,并且语言环境 yml 文件更改了此语言环境的货币,因此您将拥有价格看起来像 XXX,XX EUR 而不是 $XXX,XX。

    要为您需要添加的每个语言环境显示正确的货币:

    it:
      number:
        currency:
          format:
            format: "%n %u"
            unit: "EUR"
    

    it.yml 文件中或您使用该国家/地区货币的其他语言中。

    【讨论】:

      【解决方案2】:

      您可能不需要宝石。您可以使用此处解释的 URL 在代码中的任何位置直接调用 google 的货币 API。这可以在您的模型中完成,也可以直接在视图中通过 AJAX 完成。

      http://motyar.blogspot.com/2011/12/googles-currency-converter-and-json-api.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-04-23
        • 1970-01-01
        • 2014-07-22
        • 2023-03-06
        • 2012-03-13
        • 1970-01-01
        • 1970-01-01
        • 2023-03-25
        相关资源
        最近更新 更多