У меня есть запрос на получение идентификаторов людей в определенном порядке, например:
ids = [1, 3, 5, 9, 6, 2]
Затем я хочу получить этих людей Person.find(ids)
Но они всегда извлекаются в числовом порядке, я знаю это, выполняя:
people = Person.find(ids).map(&:id)
=> [1, 2, 3, 5, 6, 9]
Как я могу запустить этот запрос, чтобы порядок был таким же, как и порядок массива ids?
Я сделал эту задачу более сложной, так как я хотел только выполнить запрос для извлечения людей один раз, из приведенных идентификаторов. Таким образом, выполнение нескольких запросов не может быть и речи.
Я пробовал что-то вроде:
ids.each do |i|
person = people.where('id = ?', i)
Но я не думаю, что это работает.