Untuk array, Anda dapat menggunakan salah satu dari ini:
# Will raise exception if any value not found
User.find( [1,3,5] )
# Will not raise an exception
User.find_all_by_id( [1,3,5] ) # Rails 3
User.where(id: [1,3,5]) # Rails 4
Jika Anda kebetulan menggunakan rentang, Anda dapat menggunakan ini:
# Will raise exception if any value not found
User.find((1..4).to_a) #same as User.find([1,2,3,4])
# Will not raise an exception
User.find_all_by_id(1..4) # Rails 3
User.where(id: 1..4) # Rails 4
Seperti yang dicatat @diego.greyrobot dalam komentar, rentang menyebabkan klausa SQL BETWEEN, sedangkan array menyebabkan klausa SQL IN.
Jangan gunakan User.find_by_id()
-- Ini hanya akan mengembalikan satu catatan, tidak peduli seberapa banyak ID yang Anda masukkan.