2017-06-22 7 views
1

誰かがレール5 APIを使用してテーブルのレコードを更新する方法を教えてもらえますか?レール5 API;レコードを更新する

たとえば、私は次のように私はURLに値を渡したい5の行のIDを持っている数量フィールドを更新する必要があります。

localhost/items_list/5/qty/1 

私の更新コントローラが似ている:

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

どのようにすべきですルートはこれを探しますか?

+0

トライポスト「items_list /:ID/qty /:qty 'を' your_controller#your_action 'またはresources:items_listに設定します。メンバーdo;ポスト 'qty /:qty';終わり;終了 –

答えて

1

あなたは、これは多分何かのように、あなたがのparamsとして送ります値を受信することを期待ためにルートを定義する必要がまず:これはitem_list idを期待するあなたのルートを定義し、quantity

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

レコードを更新するための値として使用します。

次に、あなたのコントローラ内で使用すると、更新する特定の要素を取得するためにfindを使用して、params[:qty]の値を持つ属性を更新するparams[:id]を渡すことができます。

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

ありがとう、これは動作します。 getからPUTに変更しなければならなかった。あなたの助けに感謝。 – aej1973

+0

ああ私の間違い、申し訳ありません。 –

関連する問題