Con un has_many
regular, existe la opción de :dependent => :destroy
para eliminar las asociaciones cuando se elimina el registro primario. Con has_many :through
, puede haber otros padres asociados a los registros secundarios, por lo que :dependent => :destroy
no tiene ningún efecto.Destruir asociaciones después del último has_mucho: mediante el registro se elimina
¿Cómo se asegura de que los registros secundarios se eliminen una vez que quedan huérfanos desde la última asociación HMT?
para meter en una vieja pregunta/respuesta, que tenía un 'has_many: through' assocation; Llamé a 'destroy' en el modelo directo, pero quería eliminar cualquier modelo del otro lado de la asociación que pudiera quedar huérfano. Coloqué este código dentro de mi modelo y, dado que el modelo que se destruyó en el extremo era solo 'belongs_to', eliminé la llamada 'each' de cada envoltura. Gracias por el empujón en la dirección correcta. –