2011-03-13 47 views
1

我在模型中提供一個小數位,名爲label_length。該值在保存到數據庫中時取整。Rails - 模型更新小數 - 從數據庫中渲染四捨五入的值

記錄已存儲在數據庫中。我處於我的Offer模型的修改表單中。現在我將123.45放入文本字​​段並按下按鈕。保存後,我再次使用文本字段渲染編輯操作。在label_length的文本字段中,我再次找到123.45的值,儘管123.5存儲在數據庫中。

似乎沒有更新的控制器@offer調用offer.update_attributes(PARAMS [:報價])後

是否有可顯示當前數據庫值的方法嗎?

感謝 馬克

+0

從控制器發佈一些代碼可能會幫助我們幫助你。您對代碼的功能有清晰的瞭解,但我們沒有。 – 2011-03-13 00:08:30

+0

請將相關的代碼添加到您的問題。特別是對於如何執行舍入值以及如何渲染編輯頁面(控制器操作代碼)。 – 2011-03-13 00:09:29

回答

1

什麼是您的遷移是什麼樣子?您可以提示在Rails的遷移創造了一套規模和精度的十進制字段,這樣您不必意外四捨五入值:

t.decimal :amount, :precision => 6, :scale => 2 

至於讓Rails的節省後,從數據庫中的數據,你可以簡單地添加一個電話reload像這樣:

if @offer.save 
    @offer.reload 
    ... 
else 
    ... 
end 
+0

@ offer.reload是我一直在尋找和找不到的東西。非常感謝Marc,並且非常友善 – 2011-03-13 18:51:15