【发布时间】:2014-07-22 21:19:24
【问题描述】:
我有一个使用 money-rails gem 定义货币对象的 Rails 4 应用程序。我在 User 模型上有一个名为 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
问题:
当我在视图中显示默认价格时,出于某种原因,它使用了我在 model 中使用 register_currency 定义的货币,而不是使用用户在注册时定义的货币. 如何让应用引用用户定义的货币而不是该模型的注册货币?
【问题讨论】:
标签: ruby-on-rails internationalization currency money-rails