2017-06-22 54 views
1

有人可以讓我知道如何使用rails 5 API更新表中的單個記錄。rails 5 API;更新單個記錄

例如;我需要更新有5行ID我想通過在URL中的值如下量場:

localhost/items_list/5/qty/1 

我的更新控制器是這樣的:

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

應該如何路線尋找這個?

+0

試後「的MULTILINE_ACL_COMPONENT /:ID/qty /:qty',以:'your_controller#your_action'或資源:items_list;成員做;帖子'qty /:qty';結束;結束 –

回答

1

首先,你需要定義爲了這個希望接收該值的路徑,你會發作爲參數,可以也許是這樣的:

put 'item_list/:id/qty/:qty', to: 'item_list#edit' # depending on the controller's name and action 

這是定義於預期item_list idquantity路線用作更新記錄的值。

然後在你的控制器,你可以使用find獲得該更新的特定元素,然後傳遞params[:id]以更新的params[:qty]值的屬性:

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

謝謝,這個作品。必須將其從get變爲PUT。感謝你的幫助。 – aej1973

+0

哦,我的錯誤,對不起。 –