number_field 메서드를 사용하여 10 진수 값 (USD이므로 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
빈 값을 허용하더라도 제대로 작동합니다.