Ruby on rails 如何获得总成本和税收百分比

Ruby on rails 如何获得总成本和税收百分比,ruby-on-rails,ruby,Ruby On Rails,Ruby,我试图得到由数量、价格和税金组成的总价 @order = current_user.orders.build(order_params) @order.product = product @order.price = product.price @orders = product.price * quantity @order.total = @orders * 0.029 价格和数量加总,但当我加上税收百分比时,它根本不计算?您得到了错误的结果,因为总

我试图得到由数量、价格和税金组成的总价

    @order = current_user.orders.build(order_params)
    @order.product = product
    @order.price = product.price
    @orders = product.price * quantity
    @order.total = @orders * 0.029

价格和数量加总,但当我加上税收百分比时,它根本不计算?

您得到了错误的结果,因为
总计的类型是整数,而不是浮动

您必须更改此列类型,因此需要生成新的迁移:

rails g migration change_total_to_be_float_in_orders
rails db:migrate
这将生成如下迁移:

class ChangeTotalToBeFloatInOrders < ActiveRecord::Migration[5.0]
  def change
  end
end
然后运行迁移:

rails g migration change_total_to_be_float_in_orders
rails db:migrate
我必须假设“总计”意味着您希望获得订单的总计,包括税款。使用0.029意味着您将获得订单的税额,而不是实际税额

区别在于

25 * 0.029 = 0.725
vs

试试这个

@order.total = @orders * 1.029

我根据您发布的内容对此进行了测试,它对我有效。

右侧的
=
值是否返回您需要的值?,“如果您的意思是该值未保存,则不起作用的原因是您需要在为属性分配新值后保存对象。如果我添加0.029,则返回$0。”。但是,如果我去掉0.029,它将返回corerct价格,但不包括计程车。
total
:float
?total是上面我的代码更新的整数