Errores #3698
abierta
Error al eliminar un proyecto
Añadido por Alvaro Irureta-Goyena hace más de 5 años.
Actualizado hace más de 5 años.
Fecha de inicio:
2019-06-05
Descripción
Al intentar elimnar un proyecto, se produce un error.
Volocado del log:
Started GET "/administracion/proyecto/proyecto/eliminar/80" for xx.xxx.xxx.xxx at 2019-06-05 07:27:33 +0200
Processing by ProyectoController#eliminar as HTML
Parameters: {"seccion"=>"administracion", "menu"=>"proyecto", "id"=>"80"}
Completed 500 Internal Server Error in 101ms (ActiveRecord: 22.8ms)
ActiveRecord::RecordNotDestroyed (Failed to destroy the record):
- app/controllers/proyecto_controller.rb:307:in `eliminar'*
Se ha comprobado en dos instancias diferentes.
El problema viene de que (por algún motivo aún por determinar) la línea:
has_many :partida_financiacion, -> { order :codigo }, dependent: :destroy
del modelo de proyecto invoca un destroy! de las partidas de financiación asociadas y si alguna de ellas no puede borrarse (porque tenga partidas de sistema asociadas) se para el borrado pero con una excepción en lugar de con un error.
Hay que averiguar el motivo por el que ese dependent: :destroy invoca un destroy! en lugar de un destroy . Quizás alguna variable de configuración?.
He eliminado la validacion de borrado de partidas de financiacion que eran las que provocaban el error y que se propagaban con una excepción en lugar de un error. Aún así quedan pendientes otras validaciones en cascada, como la que hay en la asociacion de partida financiacion con partida evitando el borrado si hay gastos o presupuestos.
Exportar a: Atom
PDF