class ActiveRecord::Associations::CollectionAssociation

def remove_records(existing_records, records, method)

def remove_records(existing_records, records, method)
  catch(:abort) do
    records.each { |record| callback(:before_remove, record) }
  end || return
  delete_records(existing_records, method) if existing_records.any?
  @target -= records
  @association_ids = nil
  records.each { |record| callback(:after_remove, record) }
end