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