Destroys the records matching conditions
by instantiating each
record and calling its 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.
Parameters
-
conditions
- A string, array, or hash that specifies which records to destroy. If omitted, all records are destroyed. See the Conditions section in the introduction to ActiveRecord::Base for more information.
Examples
Person.destroy_all("last_login < '2004-04-04'") Person.destroy_all(status: "inactive") Person.where(age: 0..18).destroy_all
Please login to continue.