instance method
destroy_all
Ruby on Rails 8.1.2
Since v4.0.13Signature
destroy_all()
Deletes the records of the collection directly from the database ignoring the :dependent option. Records are instantiated and it invokes before_remove, after_remove, before_destroy, and after_destroy callbacks.
class Person < ActiveRecord::Base
has_many :pets
end
person.pets.size # => 3
person.pets
# => [
# #<Pet id: 1, name: "Fancy-Fancy", person_id: 1>,
# #<Pet id: 2, name: "Spook", person_id: 1>,
# #<Pet id: 3, name: "Choo-Choo", person_id: 1>
# ]
person.pets.destroy_all
person.pets.size # => 0
person.pets # => []
Pet.find(1) # => Couldn't find Pet with id=1
Source
# File activerecord/lib/active_record/associations/collection_proxy.rb, line 501
def destroy_all
@association.destroy_all.tap { reset_scope }
end
Defined in activerecord/lib/active_record/associations/collection_proxy.rb line 501
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::Associations::CollectionProxy