【发布时间】:2021-07-25 08:25:50
【问题描述】:
我想做什么
我的应用程序有Order 模型和List 模型。
List model 是 Order 的孩子。
Order 具有 total 列。List 具有 price 和 quantity 列。
我想通过将每个 lists 行的小计相加来更新 Order 的 total。
我做了什么
这是我的 orders_controller。
def update
@order = Order.find(params[:id])
@order.total = @order.total_price
if @order.update(order_params)
redirect_to orders_path, notice: 'The order has been updated.'
else
render :edit
end
end
这是我的订单.rb(model)
def total_price
lists.to_a.sum { |list| list.subtotal }
end
为了更新总价,我将@order.total_price 设置为@order.total。
但是如您所见,它使用强参数(order_params)进行了更新。
我无法解决如何更新总价。
我该怎么办?
环境
- ruby2.7.2
- rails6
【问题讨论】:
-
order_params有哪些参数?
标签: ruby-on-rails strong-parameters