0
t.decimal  "eur",        precision: 8,  scale: 2

这是我在数据库表中的行(名称是钱包)。如何在 rails 控制台中使用数据填充它?

我努力了

wallet.eur=10好的,这很容易而且不起作用。

wallet.eur=BigDecimal.new('154.00')这个抛出类似 => #<BigDecimal:56cadb8,'0.154E3',9(18)>但我无法保存它并将保持在 0.0。

有什么想法或建议吗?

4

2 回答 2

0

如果处理货币,money-rails gem 可能值得吗?

或者类似的东西只是使用一个整数并将其存储在便士/美分中并创建助手来显示它。

比使用小数或更差的浮点数要好得多。

于 2013-08-23T19:42:46.837 回答
0

使用内置的 rails 工具,查看NumberHelper文档以获取示例。

使用此代码添加迁移:

add_column :items, :price, :decimal, :precision => 8, :scale => 2

然后使用这个方法:

number_to_currency(price, :unit => "€")

如果你有一个 NoMethodError 添加这一行:

include ActionView::Helpers::NumberHelper
于 2013-08-24T10:31:28.053 回答