Comment puis-je supprimer les objets enfant lorsque le parent est supprimé dans les rails?
modèle:
has_many :b, :dependent => :delete_all
modèle b:
belongs_to :a
belongs_to :c
modèle c:
has_many :b
Quand je supprime un a
, j'aimerais aussi avoir des enfants b's
supprimé de sorte qu'ils obtiennent retirés de tout c's
qui pourrait faire référence à eux. Cependant, le ci-dessus ne fonctionne pas. J'apprécierais toute aide.
Dupliquer: stackoverflow.com/questions/331394/...
OriginalL'auteur James | 2010-02-04
Vous devez vous connecter pour publier un commentaire.
Comme suit:
Mise à jour
Votre commentaire récent indique que vous utilisez la méthode delete() pour supprimer vos objets. Ce ne sera pas utiliser les callbacks. Veuillez lire le manuel pour plus de détails.
James, vous devez avoir :dépendante => :détruire tous les objets dans la chaîne.
hmmm... fonctionne quand je l'appelle détruire sur le parent, mais ne fonctionne pas quand je l'appelle supprimer. Est-ce prévu?
Oui c'est prévu. Delete ne pas utiliser le :dépendant de rappels. Voir: nickpeters.net/2007/12/21/delete-vs-destroy
Cool, merci.
OriginalL'auteur