2011-10-01 2 views
2

J'ai actuellement un modèle d'école, et un modèle d'étudiant. Sur Étudiant, j'ai belongs_to :school, :dependent => destroy. Toutefois, lors de la suppression d'une école, les élèves dont l'ID est associée à cette école ne sont pas supprimés. À l'école, j'ai aussi has_many :students.: dépendance =>: détruire ne fonctionne pas comme prévu?

Y at-il une raison pour laquelle cela ne fonctionne pas? Il existe une méthode destroy dans le modèle Student, mais il semble que rien n'arrive à l'étudiant lorsque son école est détruite. En espérant que quelqu'un puisse faire la lumière sur ce sujet - peut-être qu'il me manque quelque chose de majeur.

Répondre

7

l'option: dépendante doit être donnée pour la relation has_many dans la classe de l'école ...

class School 
    has_many :students, :dependent => :destroy 
end 

Vous aussi vouloir supprimer l'option détruire sur votre association belongs_to, actuellement vous supprimerez l'associé dossier scolaire en détruisant un étudiant ...

class Student 
    belongs_to :school 
end 
+0

J'ai essayé cela aussi, mais quand l'école est détruite, les étudiants vont bien. Y a-t-il autre chose dont j'ai besoin de suivre? –

+0

Eh bien ce qui précède devrait fonctionner, il pourrait donc être quelque chose d'autre, pourriez-vous poster le code en question afin que nous puissions jeter un oeil? – roboles

+1

Correction, la raison était juste la méthode destroy dans Student. Merci :) –

Questions connexes