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是上面我的代码更新的整数