[Ror-es] Borrado en cascada

Imobach González Sosa imobachgs at banot.net
Tue Apr 3 11:13:52 GMT 2007


El Tuesday 03 April 2007 12:08:38 Miguel Angel Calleja Lázaro escribió:
> Me gustaría hacer un borrado en cascada en una relación 1:N, leyendo veo
> que se hace con :dependent, me podeis decir si es algo así?
> class Obra < ActiveRecord::Base
>         has_many :foto,
>
>                          :dependent=> :delete_all
>
> end
>
> qué diferencia hay entre :destroy y :delete_all?

Está explicado en la propia documentación:

:dependent - if set to :destroy all the associated objects are destroyed 
alongside this object by calling their destroy method. If set to :delete_all 
all associated objects are deleted without calling their destroy method.

O sea, que en el caso de usar :destroy se llama al método "destroy" de los 
objetos contenidos en la asociación; si se usa :delete_all, se borran 
directamente de la base de datos (sin pasar por su método "destroy").

Saludos.


More information about the Ror-es mailing list