Forum: Rails-ES Borrado en cascada

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Miguel Angel Calleja Lázaro (Guest)
on 2007-04-03 15:10
(Received via mailing list)
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?
Imobach González Sosa (Guest)
on 2007-04-03 15:15
(Received via mailing list)
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.
This topic is locked and can not be replied to.