why not simply add dependent: destroy on the has_many ?