我目前有一张表格:
<%= f.label(:price) %> <br/>
<%= f.text_field(:price, :value => number_to_currency(@object.price)) %>
我将迁移从使用float更改为使用decimal:
change_column :object, :price, :decimal, :precision => 5, :scale => 2
在我看来,我用它来调用它:
<%= @object.price %>
出于某种原因,每当我对表单或控制台进行更改时,它都不会保存该值并将其保持在$ 0.00,无论我将其更改为什么。在视图中,它始终显示为“0.0”。我不确定问题是什么。
答案 0 :(得分:0)
您是否有一个名为object
或objects
的表格,或者这只是一个示例?
如果没有,请检查价格列以确保迁移正常。
如果表格中确实有适当的列类型,请检查attr_accessible
类中是否使用Object
(并且包含price
)。
此外,如果您使用Object
作为您的班级名称,您可能会在此处遇到其他一些问题,我会建议不要这样做。
修改强>
number_to_currency
可能会在您的费用前加上一个$,确保您在没有任何货币之前输入您的价格,否则我认为这也会导致0.0(无法解析十进制'$ 123.00',但可以解析'123.00'