Вызов
users = User.all
не выполняет запрос.Запрос выполняется, когда вы пытаетесь перебрать коллекцию в методе find
. Может быть быстрее вызвать
users.find(5)
, чем использовать в памяти find
, потому что он будет извлекать все записи из базы данных и выполнять итерациюповерх них:
users.find { |user| user.id == 5 }
Также users.find
может на самом деле вызывать AR find
, а не Enumerable#find
, поэтому пример about ничего не может вернуть, безопаснее использовать #detect