我有一个Order
带有unit_price
,discount_price
等的模型final_price
。所有都是db中的integer
字段。postgres
目前它的舍入量为下一个整数并保存。但是现在我发现这不是一个好方法,因为它可能会在将来导致一些错误/问题。所以我计划通过do()来节省一分钱的价值,USD*100
但是当显示时通过编写一些帮助程序以英镑显示它。
但我现在发现这个宝石可以做我想做的事。我正试图围绕这个宝石,但我无法真正弄清楚这里使用的一些约定,也不确定它是否适合我的目的
我的默认货币是GBP
.
我可以看到这个 gem_cents
默认使用约定
monetize :price_cents #from docs
上面假设有一个 db 列price_cents
。这里为什么要使用 cents 作为静态列?这样做的目的是什么?除了在这里明确之外还有其他用途吗?
如果它的目的是为了cents
自动查找USD
,如果 penny 查找GBP
& soforth...那么对于我们的应用程序支持的每种货币,我们最终将创建新的数据库列,例如price_penny
,price_cent
等等。如果有很多货币。或者我可以在这里使用一个通用名称,比如 price_smallest 并且不管货币类型如何都可以使用它?还
我无法正确弄清楚这里的确切用例。有人可以对这个话题有所了解吗?
注意:我的应用程序现在没有支持其他货币的计划。但将来可能会添加。很好考虑,现在我认为..