Hi, I have a model defined like so: class Course < ActiveRecord::Base has_many :attendances, :dependent => :destroy has_many :attendees, :through => :attendances, :source => :user ... when I attempt to delete a Course model, it results in an ActiveRecord::StaleObjectError. Reviewing the resulting SQL calls shows that the 'lock_version' column gets incremented on each dependent 'Attendance' model that is deleted. When the Course model is deleted, its lock_version no longer matches the persisted row in the database, and hence the StaleObjectError. Any help on how to handle this situation would be greatly appreciated. regards, Cathal.
on 2013-01-10 17:30
on 2013-01-11 11:29
The only workaround to this I've been able to find is to use :dependent => :delete_all. This performs a general delete of related objects and doesn't update the lock_version on the parent. Cathal.
on 2013-09-19 14:23
Hi Coriordan, That worked for me, many thanks, but only drawback is, delete_all wont call the callbacks in children classes.