我的模型商品中有一个名为label_length的十进制字段,带有一个小数位。保存到数据库中时,该值将被舍入。
记录已存储在数据库中。我在我的Offer模型的编辑表单中。现在我将123.45放入文本字段并点击按钮。保存后,我再次使用文本字段渲染编辑操作。在label_length的文本字段中,我再次找到值123.45,尽管123.5存储在数据库中。
调用offer.update_attributes(params [:offer])后,控制器中的@offer似乎没有更新
有没有办法显示当前的数据库值?
由于 马克
答案 0 :(得分:1)
您的迁移是什么样的?您可以提示Rails在迁移中创建一个具有设置比例和精度的十进制字段,以便您没有意外舍入的值:
t.decimal :amount, :precision => 6, :scale => 2
为了让Rails在保存后使用数据库中的数据,您只需添加对reload
的调用,如下所示:
if @offer.save
@offer.reload
...
else
...
end