2012-04-17 72 views
2

如您所见,我必须在此应用程序中添加更多货币才能使用此网络应用程序http://www.designconnected.com/ ,它将以您选择的任何币种转换价格,并以此方式保留它。 我一直在寻找已经过时的宝石,教程找不到任何和在stackoverflow有几个关于它的问题,但他们都没有得到我所需要的。rails 3.1多种货币

如果您有任何人知道更好的宝石,最近发布...请让我知道。 或者如果没有它的宝石,我应该添加一个currency_id current_user所以应用程序将显示此用户适当的货币..但是,然后我从哪里采取货币汇率..我一直在寻找解决方案现在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样子这是我需要的一个..但现在将是正确的时间获得如何使用这个教程。

如果无法找到/获取关于此的完整教程,请帮助您了解如何启动它。 谢谢。

回答

7

https://github.com/RubyMoney/money-railshttps://github.com/RubyMoney/google_currency是要走的路。这不是我问的问题或问题,但无论如何,这是我现在最接近的答案。这是几个步骤,我没有得到这个工作:

宝石文件

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

config/initializers

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

创建一个文件money.rb产品。 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区域(意大利语) - 意大利的货币现在是欧元:

你就会有价格换算EUR ..对我来说真的很好,金宝石使用Google_currency将价格从美元转换为欧元,并且本地化yml文件更改此语言环境的货币,以便您的价格看起来像XXX,XX EUR而不是$ XXX, XX。

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

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

it.yml文件或者你有货币该国其他语言。