使用Money-Rails Gem用于多种货币[Rails 4]

时间:2014-06-02 17:14:50

标签: ruby-on-rails internationalization currency money-rails

我有一个使用money-rails gem的Rails 4应用程序来定义货币对象。我在用户模型上有一个名为default_price_centscurrency列的货币对象,用于为每个用户定义货币(如here所示):

class AddDefaultsToUser < ActiveRecord::Migration
  def change
    add_money :users, :default_price
    add_column :users, :currency, :string
  end
end

我的 user.rb 包含以下行:

register_currency :usd

monetize :default_price_cents, with_model_currency: :default_price_currency

用户然后在注册(HAML)中定义其货币:

.form-group
  = f.label :currency
  = f.select :default_price_currency, [['USD','usd'],['CAD','cad'],['DKK','dkk']]

我尝试使用:default_price_currency:currency设置此设置。

在我的视图中,我有:

humanized_money_with_symbol @default_price

问题:

当我在我的视图中显示默认价格时,它出于某种原因使用我在模型中使用register_currency定义的货币,而不是使用用户定义的货币注册时如何让应用引用用户定义的货币而不是该型号的注册货币?

1 个答案:

答案 0 :(得分:1)

解决!

嗯,令人尴尬的是,写这篇文章帮助我在几秒钟后才找到答案。我会把它留给任何可能需要它的人。

我在 user.rb

中更改了这一行
monetize :default_price_cents, with_model_currency: :default_price_currency

看起来像

monetize :default_price_cents, with_model_currency: :currency

并在我的观看中将default_price_currency更改为currency