Sha256: 722f4c4795e5a0f6a88a455e2e49c67aeba6642f89bcc0ac9992ef9620814553
Contents?: true
Size: 1.74 KB
Versions: 4
Compression:
Stored size: 1.74 KB
Contents
# Facilidades para un controlador descendiente de Msip::ModelosController La principal funcionalidad de msip para controladores descendientes de `Msip::ModelosController` son vistas más automáticas, como se describe en: <https://gitlab.com/pasosdeJesus/msip/blob/main/doc/vistas-automaticas.md> Pero hay otras facilidades disponibles que aquí se describen. ## Validar datos en el controlador En rails las validaciones de datos deben hacerse en el modelo, sin embargo hay situaciones en las que debe hacerse la validación a nivel de controlador al crear o al actualizar un registro (un ejemplo es el modelo `Msip::Persona` que en general no requiere documento de identidad, pero que para un cierto formulario deba requerirse). En tal situación su controlador puede sobrecargar la función `validaciones` que recibe el objeto por crear o actualizar y que debe retornar `true` si y solo si es válido. Cuando esta función retorne `false`, no se creará ni actualizará el registro, sino que se volverá a editar y se presentará como notificación el mensaje de error que se deje en la variable de instancia `@validaciones_error`. Un ejemplo de su uso es: ```rb def validaciones(registro) if params[:persona][:numerodocumento].blank? @validaciones_error = "Se requiere número de documento" return false end return true end ``` ## Evitar eliminación de registros referenciados por otras tablas El método destroy de este controlador, puede recibr un parámetro `verifica_tablas_union`, en caso de ser verdadero, antes de la eliminación revisa si el registro está referenciado en otras tablas y en caso afirmativo impide la eliminacin y presenta un mensaje indicado las tablas en la que el registro es referenciado y cuantas veces en cada una.
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
msip-2.2.0.beta1 | doc/facilidades-controlador.md |
msip-2.2.0.alfa3 | doc/facilidades-controlador.md |
msip-2.2.0.alfa2 | doc/facilidades-controlador.md |
msip-2.2a2 | doc/facilidades-controlador.md |