6

我的 Rails 4 应用程序中有一个模型,称为资金。

我正在使用 Money Rails 处理货币/货币组件 - https://github.com/RubyMoney/money-rails

我的资金模型有 3 个资金属性,分别称为 amount_expenses、amount_honorarium 和 amount_principal_financing。

资金模型还具有货币属性,供创建实例的用户选择应为三个资金属性中的每一个使用哪种货币。

当我对三个资金属性中的每一个运行 add_monetize 迁移时,它创建了三个相应的货币属性。

我需要它们吗?我可以要求用户在每个实例中选择一次货币,然后使用该货币保存三个资金属性吗?那将如何运作?如果我在资金表中只有一个货币属性,monetise 会知道如何选择它来显示三个资金金额吗?

资金表有:

 t.boolean  "expenses"
    t.boolean  "honorarium"
    t.boolean  "financing"
    t.string   "currency"
    t.string   "size"
    t.integer  "amount_expenses"
    t.integer  "amount_honorarium"
    t.integer  "amount_principal_financing"
    t.float    "return_on_finance"
    t.integer  "period_of_return"
    t.text     "expense_description"
    t.integer  "scope_id"
    t.integer  "amount_expenses_pennies",             default: 0,     null: false
    t.string   "amount_expenses_currency",            default: "GBP", null: false
    t.integer  "amount_honorarium_pennies",           default: 0,     null: false
    t.string   "amount_honorarium_currency",          default: "GBP", null: false
    t.integer  "amount_principal_financing_pennies",  default: 0,     null: false
    t.string   "amount_principal_financing_currency", default: "GBP", null: false

结尾

谢谢

4

1 回答 1

6

对于你们三个领域,你可以简单地写

monetize :field1, :field2, :field3, with_model_currency: :currency_field

在这种情况下,只有一个货币列就足够了。

于 2015-05-13T12:27:53.690 回答