アプリケーションから以下の形式で 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を解析して値を抽出する方法を理解できません。値を取得したら、両方のテーブルを呼び出して更新する必要があります。お知らせ下さい。ありがとう