Вы не можете просто объединять строки и числа в Ruby.Вам следует либо преобразовать числа в строки, как предложено mliebelt , либо использовать интерполяцию строк следующим образом:
st = "#{start_year}/#{start_month}/01".to_date
Но для вашего конкретного случая я думаю, что в этом нет необходимостиструны на всех.Вы можете сделать это так:
st = Date.new(start_year, start_month, 1)
ed = Date.new(end_year, 1, 1)
distance_of_time_in_words(st, ed)
или даже так:
st = Date.new(start_year, start_month)
ed = Date.new(end_year)
distance_of_time_in_words(st, ed)
См. Date
class документы для получения дополнительной информации.