所以我在数据库中有一个精度为2的十进制字段,用于货币。它工作正常,除非最后一个小数位以0结尾,即。 799.90。它将在字段中显示时将其剥离为799.9。我知道number_with_precision
,但是我无法将该帮助方法与simple_form数字字段一起使用,因为它只需要一个符号和html选项作为参数。
我认为我需要创建一个自定义输入来扩展simple_form的默认number_field,但语法似乎没有很好地记录,所以我无法弄清楚如何调用{{1在这个自定义输入的定义中。
我基本上想要用formtastic来做这个问题的Formtastic number field with decimal precision?想要的OP。谢谢!
答案 0 :(得分:31)
如果您可以使用formtastic进行,您通常可以根据我的经验使用Simple Form。试试这个:
<%= 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) %>
答案 1 :(得分:0)
使用输入的step
属性:
<input type="number" step="0.01">
或采用简单形式:
<%= f.input :sales_price, input_html: { step: 0.0 } %>