Post.first.comments
является делегатом. Он не возвращает вам массив напрямую, но если вы что-то с ним делаете, он превращается в один. Это полезно, потому что позволяет делать такие вещи, как
Post.first.comments.all(:conditions => {:author_name => 'RJH'})
без необходимости внедрения этих методов в объект массива или расширения класса Array
.