Ruby Rails:不会在postgresql中保存为十进制



我使用 Ruby 2.4.1 和 rails 5.0.2

这是我的代码:

total_price = 600.0
o = client.bills.new(client_id: client, total_price: total_price.to_f)
#<Bill id: nil, client_id: 21, created_at: nil, updated_at: nil, total_price: 0.6e3, bill_id: nil, discount_price: nil>
o.save

它将保存为0.00,而不是600.00.6e3在我的PostgreSQL中。哦,我使用 Numeric(8,2( 作为其数据类型,这是decimal, :precision => 8, :scale => 2

我的迁移:

add_column :bills, :total_price, :decimal, :precision => 8, :scale => 2

有什么线索吗?

我认为您有一些验证/回调阻止将正确的值写入数据库。仔细检查模型中Bill验证/回调。

最新更新