我有一个简单的表单,其中有一个fee
输入,它是一个整数。我希望输入像金钱/价格一样通常存储-小数点后2位-无论输入如何。例如,如果有人在表单中输入5.1
,我希望它在我的视图中显示5.10
。目前,如果我输入5.1
,则会显示5
。无论输入什么形式,都会返回整数。
这是_form代码:
<%= simple_form_for @order do |f| %>
<%= f.input :start_point %>
<%= f.input :restaurant_location %>
<%= f.input :customer_location %>
<%= f.input :fee %>
<%= f.button :submit %>
<% end %>
这是我的索引视图中的代码:
<% @orders.each do |order| %>
<h4 class="order-info"><%= order.start_point %></h4>
<h4 class="order-info"><%= order.restaurant_location %></h4>
<h4 class="order-info"><%= order.customer_location %></h4>
<h4 class="order-info"><%= order.fee %></h4>
<%= link_to "Edit", edit_order_path(order) %>
<%= link_to "Delete", order_path(order), method: :delete, data: { confirm: "Are you sure?" } %>
<% end %>
如果我将其写为'%.2f' % order.fee
,它将在视图中显示5.00
,而不是5.10
答案 0 :(得分:0)
您似乎将值存储为整数数据类型,可以将其更改为浮点数以存储并在迁移后显示小数点后显示值,并添加以下行以更改迁移中的数据类型。
rails g migration change_fee_to_be_float_in_orders
以及您的迁移
class ChangeFeeToBeFloatInOrders
def up
change_column :orders, :fee, :float
end
def down
change_column :orders, :fee, :integer
end
end