【发布时间】:2018-02-12 05:09:37
【问题描述】:
我正在尝试让 money-rails gem 工作,但我遇到了问题...
其他类似的 stackoverflow 问题已有 6 年历史。
这是我在相应列上的产品:
class Transactions < ActiveRecord::Base
belongs_to :user, optional: true
validates :trans_id, uniqueness: true
monetize :price_cents
end
我的 Gemfile 中有 gem,并且已成功运行 bundle install。
当我创建一个新项目并用撬来查看它时,
create(vendor:"foo",amount:2.6,trans_id:'123cccc')
id: nil,
vendor: "foo",
amount_cents: 260,
amount_currency: "USD",
trans_id: "123cccc",
tax_cents: 150,
total_cents:410,
- 如何处理美元金额? IE。我想为 total_cents 将 amount_cents 添加到 tax_cents。金额 2.60 而不是 amount_cents: 260,
- 是否需要添加“composed_of”?
- 另外,为什么命名中要使用“cent”?我认为它应该被删除,因为模糊的文档指出:
在这种情况下,货币属性的名称是通过从列名称中删除 _cents 后缀自动创建的。
【问题讨论】:
-
金钱宝石在内部使用美分。这些存储在带有
_cents后缀的属性中。 gem 然后创建没有_cents后缀的访问器方法(getter 和setter)(因此“删除”)。例如:amount、tax和total。有关示例,请参见 method conversion。
标签: ruby-on-rails ruby money-rails