У меня почему-то с давних времен было заблуждение в том, что relation это специальный объект, который не возвращает ссылку на коллекцию данных. Может со старых версий рубей что-то такое в памяти засело :)
P.S.
Т.е. я тут запутанно, наверное понаписал. Но, резюмируя, для меня удивительным оказалось, что:
User.all.each { |user| p
user.id } # будет каждый раз слать запрос к базе. Того же я ожидал и от
users = User.all && users.each { |user| p
user.id } # Cчитал, что каждый вызов users.each тоже будет каждый раз дергать базу