Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails rails 5 API;更新单个记录_Ruby On Rails - Fatal编程技术网

Ruby on rails rails 5 API;更新单个记录

Ruby on rails rails 5 API;更新单个记录,ruby-on-rails,Ruby On Rails,有人能告诉我如何使用Rails5API更新表中的单个记录吗 对于eg;我需要更新行ID为5的quantity字段。我希望按如下方式传递URL中的值: localhost/items_list/5/qty/1 我的更新控制器类似于: @order_item = OrderItem.find(params[:id]) @order_item.update_attribute(:qty,params[:qty]) 路由应该如何查找此项?首先,您需要定义路由,以便它接收您将作为参数发送的值,可能类似

有人能告诉我如何使用Rails5API更新表中的单个记录吗

对于eg;我需要更新行ID为5的quantity字段。我希望按如下方式传递URL中的值:

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
这将定义您的路线,以期望项目列表
id
数量
用作更新记录的值

然后在控制器中,您可以使用
find
获取要更新的特定元素,然后传递
params[:id]
以使用
params[:qty]
的值更新属性:

@order_item = OrderItem.find(params[:id]).update(qty: params[:qty])

尝试将“项目列表/:id/qty/:qty”张贴到:“您的控制者”或“资源:项目列表”;杜议员;张贴“数量/:数量”;结束;谢谢,这很有效。不得不把它从get改为PUT。谢谢你的帮助。