From 2612f449654d9611fd544478a64f3128d5abe589 Mon Sep 17 00:00:00 2001 From: f Date: Mon, 17 May 2021 17:56:56 -0300 Subject: [PATCH] =?UTF-8?q?validar=20de=20m=C3=A1s=20has=5Fmany?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit esta validación de has_many no permite guardar el post si no coinciden la cantidad de valores con los posts asociados, lo que funciona en casos muy ideales y no deja que se pueda guardar el post desde el formulario. el formulario envía un valor vacío para poder indicar que se quieren borrar todos los artículos por limitaciones de http, pero también suma un ítem vacío a la lista, con lo que la cantidad de posts encontrados siempre es 1 menor. de la misma forma, si la relación está rota porque uno de los posts asociados ya no existe, no permite guardar sin dar mayor feedback. así que por ahora dejamos que se puedan guardar. --- app/models/metadata_has_many.rb | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/app/models/metadata_has_many.rb b/app/models/metadata_has_many.rb index a24a5f1..13f0dcf 100644 --- a/app/models/metadata_has_many.rb +++ b/app/models/metadata_has_many.rb @@ -6,14 +6,6 @@ # Localmente tenemos un Array de UUIDs. Remotamente tenemos una String # apuntando a un Post, que se mantiene actualizado como el actual. class MetadataHasMany < MetadataRelatedPosts - def validate - super - - errors << I18n.t('metadata.has_many.missing_posts') unless posts_exist? - - errors.empty? - end - # Todos los Post relacionados def has_many return default_value if value.blank? @@ -65,8 +57,4 @@ class MetadataHasMany < MetadataRelatedPosts def related_methods @related_methods ||= %i[has_many had_many].freeze end - - def posts_exist? - has_many.size == sanitize(value).size - end end