В Ruby 1.9 библиотека была изменена таким образом, чтобы функции, выполняющие итерацию, возвращали объект Enumerator, если они вызывались без блока. Также был изменен целый ряд других языковых функций, и было широко известно, что совместимость будет нарушена между Ruby 1.8.x и Ruby 1.9 в интересах улучшения языка в целом. Большинство людей не находили это слишком огорчительным.
Команда разработчиков Ruby решила, что Ruby 1.8.7 должен быть переходной версией, добавляющей некоторые функции библиотеки, представленные в Ruby 1.9. Они приняли много критики за это решение, и многие корпоративные пользователи Ruby продолжали (и многие все еще продолжают) запускать Rails на Ruby 1.8.6, потому что считают, что внесенные в 1.8.7 изменения слишком велики и слишком рискованны. Но, тем не менее, 1.8.7 остается, и наличие итерационных функций, возвращающих перечислители, является одной из функций, которые были включены.
Именно эту функцию миграции вы видите в 1.8.7, которой нет в 1.8.6.
Ответ sepp2k дает хороший обходной путь. Мне нечего добавить к этому счету.