destroy_all() public

Destroys the records by instantiating each record and calling its {#destroy}[rdoc-ref:Persistence#destroy] method. Each object’s callbacks are executed (including :dependent association options). Returns the collection of objects that were destroyed; each will be frozen, to reflect that no changes should be made (since they can’t be persisted).

Note: Instantiation, callback execution, and deletion of each record can be time consuming when you’re removing many records at once. It generates at least one SQL DELETE query per record (or possibly more, to enforce your callbacks). If you want to delete many rows quickly, without concern for their associations or callbacks, use #delete_all instead.


Person.where(age: 0..18).destroy_all
Show source
Register or log in to add new notes.