3

我有一个 Rails 4 应用程序,它使用money-rails gem来定义货币对象。我在 User 模型上有一个名为 money 的对象default_price_cents和一个currency列,用于为每个用户定义货币(如此处所示

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模型中定义的货币,而不是使用用户在注册时定义的货币。如何让应用程序引用用户定义的货币而不是该模型的注册货币?

4

1 回答 1

1

解决了!

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

我在user.rb中更改了这一行:

monetize :default_price_cents, with_model_currency: :default_price_currency

看起来像

monetize :default_price_cents, with_model_currency: :currency

以及在我看来将其更改default_price_currencycurrency

于 2014-06-02T17:21:19.080 回答