2017-04-07 75 views
0

林用Ruby 2.4.1與5.0.2軌道紅寶石Rails的:爲十進制不會保存在PostgreSQL的

這裏是我的代碼:

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。哦,即時通訊使用數字(8,2)作爲其數據類型是decimal, :precision => 8, :scale => 2

我的遷移:

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

任何線索?

+0

'total_price:0.6e3'不是零。 – marmeladze

+0

是的,但是當保存時,它保存爲0.00 – AmirolAhmad

+1

請問您可以添加您的遷移和模式/結構文件嗎? – marmeladze

回答

1

我認爲你有一些驗證/回調阻止正確的值寫入數據庫。仔細檢查Bill型號的驗證/回調。

+0

你是對的..我忘了我有回調after_create ..謝謝你的提示! – AmirolAhmad