有人可以讓我知道如何使用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])
應該如何路線尋找這個?
有人可以讓我知道如何使用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])
應該如何路線尋找這個?
首先,你需要定義爲了這個希望接收該值的路徑,你會發作爲參數,可以也許是這樣的:
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])
謝謝,這個作品。必須將其從get變爲PUT。感謝你的幫助。 – aej1973
哦,我的錯誤,對不起。 –
試後「的MULTILINE_ACL_COMPONENT /:ID/qty /:qty',以:'your_controller#your_action'或資源:items_list;成員做;帖子'qty /:qty';結束;結束 –