有人可以让我知道如何使用Rails 5 API在表中更新单个记录。
例如;我需要更新具有5的行ID的数量字段。
localhost/items_list/5/qty/1
我的更新控制器就像:
@order_item = OrderItem.find(params[:id])
@order_item.update_attribute(:qty,params[:qty])
路线应该如何看?
首先,您需要定义路线,以便为此期望接收您将发送的值作为参数,也许是:
put 'item_list/:id/qty/:qty', to: 'item_list#edit' # depending on the controller's name and action
这正在定义您的路线,以期期望Item_list id
和quantity
用作更新记录的值。
然后,在您的控制器中,您可以使用find
获取要更新的特定元素,然后传递params[:id]
以使用params[:qty]
的值更新属性:
@order_item = OrderItem.find(params[:id]).update(qty: params[:qty])