Вы пытаетесь использовать []
в массиве, который должен использоваться, передавая параметр Numberri c для доступа к его элементам по их индексу. Вы передаете строку, которая является способом получения значений из хэшей, и есть проблема.
У вас есть массив массивов, содержащих хэши (с интересным отступом), поэтому в этом случае вам нужно сначала выполните итерацию «основного» массива, чтобы иметь возможность получать хэши для каждого массива.
Это один из способов достижения этого:
my_tst.each_with_object([]) do |e, arr|
e.each { |f| arr << f[:name] }
end
# ["shield", "bosh-dns", "nessus_agent", "node-exporter", "syslog", "shield", "bosh-dns", "nessus_agent", "node-exporter", "syslog"]
Или:
data.flat_map do |e|
e.map { |f| f[:name] }
end
В любом случае, будет вложенная итерация.