class ActiveRecord::Associations::CollectionAssociation

def concat(*records)

and inserts each record, +push+ and +concat+ behave identically.
Add +records+ to this association. Since +<<+ flattens its argument list
def concat(*records)
  records = records.flatten
  if owner.new_record?
    load_target
    concat_records(records)
  else
    transaction { concat_records(records) }
  end
end