Sie können die Datenbank dazu bringen, die Sortierung vorzunehmen und mehrere index
zu vermeiden Aufrufen müssen Sie sich nur daran erinnern, dass ein SQL ORDER BY nach einem Ausdruck bestellt , keine Spalte :
whens = item_ids.collect.with_index { |id, i| "when #{id} then #{i}" }.join(' ')
items = Item.where(:id => item_ids).order("case id #{whens} end")