我正在尝试使用number_field方法接受一个十进制值(USD,所以12.24将是一个示例)。
<div class="controls">
<%= f.number_field :amount, :class => 'text_field' %>
</div>
这只允许我输入整数值。
我正在尝试使用number_field方法接受一个十进制值(USD,所以12.24将是一个示例)。
<div class="controls">
<%= f.number_field :amount, :class => 'text_field' %>
</div>
这只允许我输入整数值。
Answers:
您可以通过为步骤选项添加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
0.33
的number_field_tag :amount
,您将收到params[:amount]
相当于 0.33
:step => 0.01
如果您想要带两位小数的数字