Method: ActiveRecord::Persistence#destroy

Defined in:
activerecord/lib/active_record/persistence.rb

#destroyObject

Deletes the record in the database and freezes this instance to reflect that no changes should be made (since they can’t be persisted).

There’s a series of callbacks associated with #destroy. If the before_destroy callback throws :abort the action is cancelled and #destroy returns false. See ActiveRecord::Callbacks for further details.



453
454
455
456
457
458
459
460
# File 'activerecord/lib/active_record/persistence.rb', line 453

def destroy
  _raise_readonly_record_error if readonly?
  destroy_associations
  @_trigger_destroy_callback ||= persisted? && destroy_row > 0
  @destroyed = true
  @previously_new_record = false
  freeze
end