आप डेटाबेस को सॉर्टिंग करने के लिए प्राप्त कर सकते हैं और एकाधिक index
. से बच सकते हैं कॉल करने के लिए, आपको बस यह याद रखना होगा कि अभिव्यक्ति . द्वारा एक SQL ORDER BY आदेश , नहीं एक कॉलम :
whens = item_ids.collect.with_index { |id, i| "when #{id} then #{i}" }.join(' ')
items = Item.where(:id => item_ids).order("case id #{whens} end")