我有教室和學生模型之間的下列關係:Mongoid後/ before_remove回調沒有被觸發
Classroom has_many :students
Student belongs_to :classroom
在我的課堂模式,我有這些關係回調:
has_many :students,
after_add: :update_student_count,
before_remove: :update_student_count
def update_student_count(student)
self.student__count = students.count
self.save
end
在我的學生控制器我有:
def destroy
student = Student.find params[:id]
student.destroy!
redirect_to action: :index
end
但是student.destroy!
從不觸發before_remove
我的「課堂」模型中的回調。 我曾嘗試寫操作破壞下面的方式來執行摧毀課堂實例行動,但它似乎破壞着這種方式與mongoid使用...
def destroy
student = Student.find params[:id]
classroom= student.classroom
student.destroy!
classroom.students.destroy(student)
redirect_to action: :index
end
爲什麼我before_remove回調從來沒有執行?