17

所以我在数据库中有一个精度为 2 的小数字段,用于货币。它工作正常,除非最后一个小数位以 0 结尾,即。799.90。当它显示在字段中时,它将改为将其剥离为 799.9。我知道number_with_precision,但我无法将那个辅助方法与 simple_form 数字字段一起使用,因为它只需要一个符号和 html 选项作为参数。

然后我想我需要创建一个自定义输入来扩展 simple_form 的默认 number_field,但是语法似乎没有很好的文档记录,所以我无法弄清楚如何调用number_with_precision这个自定义的定义输入。

我本质上想用十进制精度做这个问题Formtastic number field的OP是什么?想用formtastic。谢谢!

4

2 回答 2

37

如果你可以用formtastic来做,根据我的经验,你通常可以用简单的形式来做。试试这个:

<%= f.input :sales_price, :input_html => {value: number_with_precision(f.object.sales_price, precision: 2) } %>

如果使用 input_field,则不需要:input_html

<%= f.input_field :sales_price, value: number_with_precision(f.object.sales_price, precision: 2) %>
于 2012-07-12T23:17:06.103 回答
0

使用输入step属性:

<input type="number" step="0.01">

或使用简单形式:

<%= f.input :sales_price, input_html: { step: 0.0 } %>
于 2018-11-27T17:31:41.380 回答