我有教室和学生模型之间的下列关系: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回调从来没有执行?