Это может вам помочь: http://www.francisfish.com/getting_the_number_of_months_between_two_dates_in_rubyrails.htm
После того, как вы получите количество месяцев, вы можете получить названия месяцев из этого:
months = ["", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
months[start_date.month, number_of_months]
например
месяцы [Time.now.month, 5]
=> ["Май", "Июнь", "Июль", "Август", "Сентябрь"]
редактирование:
Вместо этого вы можете использовать:
Date::MONTHNAMES[start_date.month, number_of_months]
редактирование:
Или, если вы получите номера месяцев в вашем теге выбора, вы можете просто использовать:
Date::MONTHNAMES[start_month_num, end_month_num]
но это не получится, если end_month_num меньше чем start_month_num
Это должно работать:
if start_month <= end_month
Date::MONTHNAMES[start_month..end_month]
else
Date::MONTHNAMES[end_month..12] + Date::MONTHNAMES[1..start_month]
end