0

アプリケーションから以下の形式で JSON を取得しています

{"list":[{"orderno":"02201308231133","itemno":"w01","name":"t01","amount":"120","status":"done"},{"orderno":"02201308231133","itemno":"w02","name":"t02","amount":"120","status":"done"},{"orderno":"02201308231133","itemno":"w03","name":"t03,"amount":"120","status":"done""}]}

ここで、上記の JSON から 2 つのタスクを実行する必要があります。最初にリスト テーブルに上記の行をそのまま追加します。抽出された値 (02)。

最初のタスクを実行できます。同じコントローラーコードは次のとおりです。

def create
    lists = params[:list].collect{|list_attributes| List.new(list_attributes)}
    valid,not_valid = lists.partition{|list| list.valid?}

    if not_valid.blank?
      lists.map(&:save)
      @lists = lists
      format.html { redirect_to @list, notice: 'List was successfully created.' }
      format.json { render json: @list, status: :created, location: @list }
    else
      format.html { render action: "new" }
      format.json { render json: @list.errors, status: :unprocessable_entity }
    end
  end

上記のメソッドは、DB テーブルに行を挿入します。リストコントローラーでcreateメソッドを呼び出す前に、JSONを解析して値を抽出する方法を理解できません。値を取得したら、両方のテーブルを呼び出して更新する必要があります。お知らせ下さい。ありがとう

4

1 に答える 1