我有一个使用money-rails gem的Rails 4应用程序来定义货币对象。我在用户模型上有一个名为default_price_cents
和currency
列的货币对象,用于为每个用户定义货币(如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
定义的货币,而不是使用用户定义的货币注册时如何让应用引用用户定义的货币而不是该型号的注册货币?
答案 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
。