From d147a8ad9e70ae8409f12dfe67d514efa911ab81 Mon Sep 17 00:00:00 2001 From: f Date: Tue, 6 Sep 2022 16:17:00 -0300 Subject: [PATCH] guardar todo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit cuando el arduino ya está creado no se guardan los sensores --- app/controllers/readings_controller.rb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/controllers/readings_controller.rb b/app/controllers/readings_controller.rb index 103f3f0..c32efab 100644 --- a/app/controllers/readings_controller.rb +++ b/app/controllers/readings_controller.rb @@ -21,14 +21,14 @@ class ReadingsController < ActionController::API params[:arduinos]&.reject do |a| a[:id].blank? || a[:sensores].empty? end&.each do |a| - arduino = raspberry.arduinos.find_or_initialize_by(local_id: a[:id]) + arduino = raspberry.arduinos.find_or_create_by(local_id: a[:id]) a[:sensores].each do |s| - arduino.sensors.build(reading: reading, **sensor_params(s)) + arduino.sensors.create(reading: reading, **sensor_params(s)) end end - if raspberry.save + if raspberry.save! render plain: reading.id, status: :ok else head :bad_request @@ -36,6 +36,8 @@ class ReadingsController < ActionController::API end rescue ActiveRecord::RecordNotUnique render plain: params[:transaction_uuid], status: :ok + rescue ActiveRecord::RecordInvalid + head :bad_request end private