Ваш код в настоящее время создает отдельные «документы» в выходных данных YAML.По умолчанию YAML::load
будет просто читать в первом документе.Ответ Никласа, безусловно, таков, как и вам, но если вам абсолютно необходимо иметь дело с несколькими документами, вы можете использовать метод load_documents
:
family = YAML.load_documents(File.read("dads.yml"))
# => [{:name=>"Joe", :kids=>["Mary", "John"]}, {:name=>"Sam", :kids=>["Sam Jr", "Samantha", "Samizdat"]}]