From 04ccb9f3a924f7c1c19ee317b83a9328122c8527 Mon Sep 17 00:00:00 2001 From: f Date: Wed, 11 Dec 2019 17:10:01 -0300 Subject: [PATCH] performance: no buscar usuaries en la base de datos cuando no hay ningune --- app/models/post.rb | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/app/models/post.rb b/app/models/post.rb index 8daf9ed..91d18d9 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -234,8 +234,16 @@ class Post < OpenStruct end alias update update_attributes + # El Document guarda un Array de los ids de Usuarie. Si está vacío, + # no hacemos una consulta vacía. Si no, traemos todes les Usuaries + # por su id y convertimos a Array para poder agregar o quitar luego + # sin pasar por ActiveRecord. def usuaries - @usuaries ||= Usuarie.where(id: document_usuaries).to_a + @usuaries ||= if (d = document_usuaries).empty? + [] + else + Usuarie.where(id: d).to_a + end end private