Đối với một mảng, bạn có thể sử dụng một trong các cách sau:
# 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
Nếu bạn tình cờ sử dụng một dải ô, bạn có thể sử dụng các giá trị sau:
# 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
Như @ diego.greyrobot lưu ý trong một nhận xét, một phạm vi gây ra mệnh đề SQL GIỮA, trong khi một mảng tạo ra mệnh đề SQL IN.
Đừng sử dụng User.find_by_id()
- Nó sẽ chỉ trả về một bản ghi, bất kể bạn có thể chuyển ID bằng cách nào.