Дайте этому попытку
(1900 + rand(81)).to_s
Чтобы было понятно прохожим
Во-первых, возникла проблема, касающаяся конкатенации строк.Исходный код в вопросе объединял две строки (содержащие числа) вместе.Пример:
"1900" + "1920" = "19001920"
Во-вторых, возникла проблема с диапазоном генерируемых случайных чисел.В этом случае, поскольку нам нужен диапазон от 80 лет, мы хотим использовать rand (81) вместо rand (1980).Затем мы берем этот результат и добавляем его к базовому номеру, который дает нам случайное число между 1900 и 1980 годами.