2011-09-06 60 views
0

我现在有一个表格:形式不保存到数据库中轨

<%= f.label(:price) %> <br/> 
<%= f.text_field(:price, :value => number_to_currency(@object.price)) %> 

我改变了我的迁移从使用浮动使用十进制:

change_column :object, :price, :decimal, :precision => 5, :scale => 2 

在我看来,我把它叫做使用:

<%= @object.price %> 

出于某种原因,每当我做出改变的形式或控制台,它从不保存价值,并把它放在$ 0.00包装[R尽管我改变了它。在视图中,它总是显示为'0.0'。我不确定问题是什么。

回答

0

你有一个名为objectobjects的表吗?或者这只是一个例子吗?

如果没有,请检查您的价格栏以确保迁移工作正常。

如果您的表格中确实有适当的列类型,请检查您是否在Object类中使用attr_accessible(并且包含price)。

另外,如果您使用Object作为您的课程名称,那么您可能在此处有其他一些问题,我建议不要这样做。

编辑 number_to_currency可以预先考虑在你的成本前的$,确保你进入你的价格没有任何货币之前,要不然我相信这也将导致0.0(无法解析小数“$ 123.00 ',但可以解析'123.00'

+0

您好克里斯蒂安,谢谢。对象只是一个例子,我确实有attr_accessible包括价格。这是因为我的价格前面的$符号,如你所说,当我没有美元符号输入时,它就起作用了!非常感谢! – noob