В зависимости от типа объекта, который у вас есть, у вас будут разные способы выполнения функции сортировки.
Если ваш объект является ActiveRecord, вы можете сделать это следующим образом:
@events.order('events.event_at DESC')
Это добавит предложение ORDER
к вашему запросу SQL, сортируя записи перед тем, как вы извлекаете их из базы данных.
Второе решение медленнее, так как вы сортируете свои записи в ruby.
Но если вы манипулируете массивом объектов, это ваше единственное решение.
@events.sort {|a,b| b.event_at <=> a.event_at }
Это перебирает все события, проверяя каждое из них на наличие наибольшего с помощью метода <=>
.
Вы также можете увидеть документацию по сортировке на перечислимых элементах.