ruby-on-rails – Money-Rails Gem – 实例货币

我在我的rails 4应用程序中有一个模型称为资金.

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

我的资金模型有3个资金属性叫做amount_expenses,amount_honorarium和amount_principal_financing.

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

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

我需要它们吗?我可以要求用户为每个实例选择一次货币,然后使用该货币保存三个供资属性吗?那会怎么样?如果我在资金表中只有一个货币属性,那么货币化是否会知道如何选择显示三种融资金额?

资金表有:

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",null: false
    t.string   "amount_honorarium_currency",null: false
    t.integer  "amount_principal_financing_pennies",null: false
    t.string   "amount_principal_financing_currency",null: false

结束

谢谢

解决方法

对于你们三个领域,你可以简单地写
monetize :field1,:field2,:field3,with_model_currency: :currency_field

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

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...