データベースからのデータをこのようにto_jsonにレンダリングしようとしましたが、うまく機能します。
def getOrderDetails
#To get the details of a particular guest_order and its batches and items
@guest_order = GuestOrder.find(params[:id])
render json: @guest_order.to_json(except: [:created_at, :updated_at],
include: {order_batches: {except: [:guest_order_id, :created_at, :updated_at],
include: {order_items: {except: [:order_batch_id, :created_at, :updated_at] } }
}
}
)
end
しかし、jsonデータを取得して解析し、データベースに更新するメソッドを作成する方法がわかりません。
このようにモバイルからjsonデータを送信すると、
Parameters:{"updateStatus" => "{\"itemId\":1,\"status\":\"accepted\",\"statusTime\":\"2012-04-25 18:28:30\",\"batchId\":5}"}
ここでのステータスは、承認済み、調理中、準備完了、配達済み、キャンセル済みのいずれかです。statusTimeは、特定のステータスの値です。
このデータを取得して解析し、データベース内の次のテーブルに更新するにはどうすればよいですか?
def updateStatus
# How to parse json and save in database
end
テーブルスキーマは次のようになります。
# == Schema Information
#
# Table name: order_items
#
# id :integer not null, primary key
# quantity :integer
# accepted :datetime
# cooking :datetime
# ready :datetime
# delivered :datetime
# cancelled :datetime
# order_batch_id :integer
# dish_id :integer
# created_at :datetime
# updated_at :datetime
#
前もって感謝します。