method
delete_or_destroy
v5.2.3 -
Show latest stable
- Class:
ActiveRecord::Associations::CollectionAssociation
delete_or_destroy(records, method)private
No documentation available.
# File activerecord/lib/active_record/associations/collection_association.rb, line 381
def delete_or_destroy(records, method)
return if records.empty?
records = find(records) if records.any? { |record| record.kind_of?(Integer) || record.kind_of?(String) }
records = records.flatten
records.each { |record| raise_on_type_mismatch!(record) }
existing_records = records.reject(&:new_record?)
if existing_records.empty?
remove_records(existing_records, records, method)
else
transaction { remove_records(existing_records, records, method) }
end
end