Ruby on rails RubyonRails跳过模型中特定方法的更新回调
在我的学生模型中,我在更新后触发了一个方法Ruby on rails RubyonRails跳过模型中特定方法的更新回调,ruby-on-rails,ruby,ruby-on-rails-4,activerecord,callback,Ruby On Rails,Ruby,Ruby On Rails 4,Activerecord,Callback,在我的学生模型中,我在更新后触发了一个方法,但问题是我必须在该方法中保存。这将导致无限递归循环: class Student < ActiveRecord::Base after_update :delete_inactive_student_schedules def delete_inactive_student_schedules if self.status_was == active and self.status == paused self.missing_s
,但问题是我必须在该方法中保存。这将导致无限递归循环:
class Student < ActiveRecord::Base
after_update :delete_inactive_student_schedules
def delete_inactive_student_schedules
if self.status_was == active and self.status == paused
self.missing_schedule_at = nil
self.save!
self.schedules.destroy_all
end
end
class-Student
是否有方法在方法内保存后跳过更新回调?您可以使用更新列更新列,而无需触发回调或验证
那么你的情况呢
if self.status_was == active and self.status == paused
self.update_columns(:missing_schedule_at => nil)
self.schedules.destroy_all
end