В этом цикле
et.each do |tran|
info = {
el.human_readable.to_s => tran.content.to_s
}
end
вы неоднократно создаете новый хеш с одним ключом el.human_readable.to_s
с разными значениями. Однако, даже если вы переделаете его как
info = {}
et.each do |tran|
info[el.human_readable.to_s] = tran.content.to_s
end
вы не получите более 1 результата, потому что ключ не меняется - вы просто будете неоднократно присваивать ему разные значения. Что именно ты хочешь, чтобы тебя бросили? Может быть, вам нужен массив, а не карта ключ-значение?
info_array = []
et.each do |tran|
info_array << tran.content.to_s
end
info = { el.human_readable.to_s => info_array }