Я думаю, что проблема с использованием map
и each
в целом. Да, вы можете использовать оба, но здесь нет необходимости использовать оба.
Либо вы должны использовать:
e.messages.each { |key, message| { field: key, message: message } }
Или вы должны использовать:
e.messages.map { |key, message| { field: key, message: message } }
Основное отличие состоит в том, что each
возвращает исходный массив, тогда как map
возвращает результирующий массив.
Здесь разница между map
и each
объяснена очень хорошо.