2

ご覧のとおり、このWebアプリhttp://www.designconnected.com/のように、アプリにさらに通貨を追加する 必要があります。これにより、選択した通貨で価格が変換され、この方法で維持されます。私はすでに時代遅れの宝石を探していました、チュートリアルは何も見つけることができませんでした、そしてstackoverflowでそれについていくつかの質問があります、しかしそれらのどれも私が必要とするものを手に入れませんでした。

最近リリースされたより良い宝石を知っている人がいたら...教えてください。または、gemがない場合は、current_userにcurrency_idを追加して、アプリがこのユーザーに適切な通貨を表示するようにする必要があります。しかし、通貨レートはどこから取得しますか。今3日と何も。

アドバイスありがとうございます。

このURLはチェックされています:

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

Rails3-複数の通貨

https://github.com/RubyMoney/money

https://github.com/RubyMoney/google_currencyと組み合わせた最後の1つは、私が必要としているもののように見えます。しかし、これを使用する方法のチュートリアルを取得するのに今が適切なタイミングです。

これに関する完全なチュートリアルを見つけたり入手したりする方法がない場合は、開始方法に関するいくつかのアイデアを手伝ってください。ありがとうございました。

4

2 に答える 2

7

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"

でファイルmoney.rbを作成しますconfig/initializers

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ロケール(イタリア語)を持っています-イタリアの通貨は現在ユーロです:

価格はEURに変換されます。これは非常にうまく機能しました。moneygemはGoogle_currencyを使用してUSDからEURに価格を変換し、ロケールymlファイルはこのロケールの通貨を変更するため、価格は次のようになります。 XXX、XX EURであり、$ XXX、XXではありません。

各ロケールに適切な通貨を表示するには、以下を追加する必要があります。

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

it.ymlファイルまたは他の言語の場合は、その国の通貨を使用します。

于 2012-04-19T07:23:41.970 に答える
1

これにはおそらく宝石は必要ありません。こちらで説明されている URL を使用して、コード内の任意の場所で Google の通貨 API を直接呼び出すことができます。これは、モデル内で行うことも、ビューで直接 AJAX を介して行うこともできます。

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

于 2012-04-18T01:19:30.523 に答える