在数据库中,价格以美分存储,并且很容易以正确的格式显示它们,但是当我尝试使用
text_field
帮助器时,似乎没有办法将钱格式化为没有 Javascript 的输入值。
<%= form_with model: @item, local: true do |f| %>
...
<div class="flex flex-col mb-3">
<%= f.label :price, 'Price' %>
<%= f.text_field :price, type:'number' %>
</div>
...
<% end %>
是否有任何方法可以在纯 HTML/Ruby 中执行此操作,如果没有,是否有使用内置 Stimulus 库的简单 JavaScript 解决方法?
尝试使用指定了
step 属性的
text_field
,而不是 number_field_tag
。
<%= f.number_field_tag :price, nil, step: 0.01 %>
# => <input id="price" name="price" step="0.01" type="number" />