Как в Ruby on Rails сортировать по дате по элементам таблицы?
Допустим, есть модель Period cо столбцами (типа string) period_start и period_finish.
Имеется такие записи:
1)period_start: 01.01.2014, period_start 01.12.2014
2)period_start: 01.01.2016, period_start 01.12.2016
3)period_start: 01.01.2015, period_start 01.12.2015
Как можно отсортировать так, чтобы новые (а именно где period_finish новее даже если period_start = 01.01.1718) вышли в начале, а старые в конце?
@sort = Model.all.sort_by { |d| -(d.period_finish).to_i}
Не храните в строке, то что можно хранить цифрами. Работайте с типами данных как вам нужно на уровне контроллеров, представлений.
Смогли бы вы прокомментировать этот код? Полностью не работает что-то, то есть, если есть записи 2015 и 2016 годов, то в твоем случае выводит 2015 года.