Пусть есть модель Item
с атрибутами id
, name
и конкретная запись в БД с именем 'other'
.Переместить определенный элемент в последнюю позицию
Как получить в одном запросе SQL объект ActiveRecord::Relation
с элементами, отсортированными таким образом, чтобы other
элемент в последней позиции? В качестве временного решения я использовал Item.where.not(name: 'other') + Item.where(name: 'other')
, но он приводит к 2 запросам.
NB: это не настоящий код, а чрезвычайно упрощенный пример.
вы могли бы использовать [жадную загрузку] (http://guides.rubyonrails.org/active_record_querying.html#eager-loading -ассоциации) – VKatz
@Vinay, 'Eager Loading' для связанных записей. Это не такой случай. – yurko