Forum: Rails-ES Recursibidad y retardo en la BBDD

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.
xurde dix (Guest)
on 2009-02-23 12:15
(Received via mailing list)
Hola Lista

Tengo el siguiente metodo:

  def eliminarInutiles()
    self.children.each do |hijo|
      hijo.eliminarInutiles()
    end

    if self.children.blank? and
self.products.find_by_deleted_at(nil).blank?
      self.destroy
    end
  end

Que se supone que BORRA todos los Tags que no tengan productos Activos o
hijos con productos Activos.

El problema es el siguiente: cuando un Tag tiene hijos sin productos los
borra pero no borra el Tag.

que pasa ? no da tiempo a actualizar la BBDD

Gracias

Jorge G.
Desarrollador Web Freelance
xurde dix (Guest)
on 2009-02-23 12:31
(Received via mailing list)
Según escribía el Mail anterior se me ocurrio.


  def eliminarInutiles()
    self.children.each do |hijo|
      hijo.eliminarInutiles()
    end

    tag= Tag.find self.id
    if tag.children.blank? and
tag.products.find_by_deleted_at(nil).blank?
      tag.destroy
    end
  end

Así funciona, pero no me parece muy elegante. Hay alguna forma mejor de
hacerlo?

Nota: Uso acts_as_adjacency_list

Gracias a todos por la ayuda

Jorge G.
Desarrollador Web Freelance
This topic is locked and can not be replied to.