2

Rails e コマース アプリケーションを構築しており、訪問者がチェック ボックスをクリックすると国のリストが表示され、クリックするとサイト上の製品の通貨の値が値に変化する通貨交換システムを統合したいと考えています。選択した国の通貨。通貨交換サーバーに接続し、自動的に通貨を変換する Rails gem はありますか、またはこれを達成する方法についてのアイデアはありますか。ありがとうございました。

4

2 に答える 2

1

最初にすべきことは、USD NGN EUR のような通貨コードを用意することです。これにより、ユーザーが選択した通貨の通貨コードがセッションまたは Cookie に保存され、デフォルトの通貨が使用したい通貨に設定されます。

次に、リアルタイムの為替レートにアクセスできるGoogle Currency gem をインストールします。

これらがすべて設定されていると仮定すると、次のようになります。

require 'money'
require 'money/bank/google_currency'
bank = Money::Bank::GoogleCurrency.new
rate = bank.get_rate(:NGN, :USD).to_f

この例では、単純に 1 ナイラから $1 のレートを取得しています。

レートがわからないので、商品の価格を選択した通貨に変換する方法を見つけるだけです。

ユーザーが $ を選択すると仮定すると、session[:selected_currency] = "USD"

製品モデルには次のものがあります

##Assuming default currency is NGN so it defaults to NGN if no currency code
require 'money'
require 'money/bank/google_currency'
    def converted_price(currency = :NGN)
          bank = Money::Bank::GoogleCurrency.new
          rate = bank.get_rate(:NGN, currency).to_f
          price = item_amount / rate
          price
    end 

したがって、私たちの見解では、<%= @product.converted_price(session[:selected_currency])%>

私はこれをテストしていませんが、これにより、問題をどのように解決したかがわかります。

于 2014-06-26T10:42:15.457 に答える
-1

money gem を確認して
ください やりたいことを正確に実行するための回避策があるようですが、それはあなたが目指していることの適切な基盤となります。

于 2012-05-22T09:41:29.073 に答える