我正在尝试使用 number_field 方法接受十进制值(美元,因此 12.24 就是一个例子)。
<div class="controls">
<%= f.number_field :amount, :class => 'text_field' %>
</div>
这只允许我输入整数值。
我正在尝试使用 number_field 方法接受十进制值(美元,因此 12.24 就是一个例子)。
<div class="controls">
<%= f.number_field :amount, :class => 'text_field' %>
</div>
这只允许我输入整数值。
您可以通过为 step 选项添加 Float 来绕过“only Integers”约束:
f.number_field :amount, step: 0.5
更新: 实际上你可以使用值'any'作为步长,它将接受所有浮点数和整数,步长为 1:
f.number_field :amount, step: :any
价格更新:
您可以使用 rails 的助手number_to_currency
在 number_field 中显示价格:
f.number_field :amount, value: number_to_currency(f.object.amount.to_f, delimiter: '', unit: ''), step: :any
对于价格字段,您可以使用:
f.number_field :price, value: @item.price ? '%.2f' % @item.price : nil, min: 0, step: 0.01
即使您允许空白值,它也可以正常工作。