Deletes the record in the database and freezes this instance to reflect that no changes should be made (since they can’t be persisted). Returns the frozen instance.
The row is simply removed with an SQL DELETE statement on the record’s primary key, and no callbacks are executed.
To enforce the object’s before_destroy and after_destroy callbacks or any :dependent association options, use #destroy.
# File activerecord/lib/active_record/persistence.rb, line 155 def delete self.class.delete(id) if persisted? @destroyed = true freeze end