Когда вы пытаетесь отсортировать массив объектов, ruby должен знать, как решить, какие объекты должны быть первыми.
Если ваши объекты имеют внутренний порядок, например, у них есть «число», которое нужно отсортировать, а затем внедрите метод в свой проект следующим образом:
def <=> other
number <=> other.number
end
Метод <=> используется ruby для сравнения двух объектов и определения того, который появляется первым.В этом примере мы просто делегируем сортировку атрибуту числа (строки и числа уже имеют встроенный порядок)
Альтернативой, если существует много способов сортировки ваших объектов, является указание во время сортировки.как сортировать.Как пояснил True Soft, есть несколько способов сделать это, мой любимый способ:
@projects = Project.all.sort_by &:created_at
.. сортировать по полю созданного_
.