Ruby on rails 叶子文档中的Repace节点

Ruby on rails 叶子文档中的Repace节点,ruby-on-rails,yaml,Ruby On Rails,Yaml,我有以下yml文件,表示Ruby on Rails项目中的本地化文件: es: animals: happy_animals: dog: Dog cat: Cat horse: Horse sad_animals: cow: Cow elephant: Elephant 我需要添加另一个与动物级别相同的类别,以获得以下结果: es: animals: happy_animals: dog:

我有以下yml文件,表示Ruby on Rails项目中的本地化文件:

es:
  animals:
    happy_animals:
      dog: Dog
      cat: Cat
      horse: Horse
    sad_animals:
      cow: Cow
      elephant: Elephant
我需要添加另一个与动物级别相同的类别,以获得以下结果:

es:
  animals:
    happy_animals:
      dog: Dog
      cat: Cat
      horse: Horse
    sad_animals:
      cow: Cow
      elephant: Elephant
  farm_animals:  # This key is new
    happy_animals:
      dog: Dog
      cat: Cat
      horse: Horse
    sad_animals:
      cow: Cow
      elephant: Sick elephant #This value changed
我想知道是否有方法复制结构,覆盖某些特定值或节点。我尝试了以下方法:

es:
  animals: &animals
    happy_animals:
      dog: Dog
      cat: Cat
      horse: Horse
    sad_animals:
      cow: Cow
      elephant: Elephant
  farm_animals:  
    <<: *animals
    sad_animals:
      elephant: Sick Elephant
es:
动物:&动物
快乐的动物:
狗:狗
猫:猫
马:马
悲伤的动物:
牛:牛
大象:大象
农场动物:

这应该可以做到:

es:
  animals: &animals
    happy_animals:
      dog: Dog
      cat: Cat
      horse: Horse
    sad_animals: &sad_animals
      cow: Cow
      elephant: Elephant
  farm_animals:  
    <<: *animals
    sad_animals:
      <<: *sad_animals
      elephant: Sick Elephant
2.3.0 :001 > yaml = <<-YALM
2.3.0 :002">     es:
2.3.0 :003">       animals: &animals
2.3.0 :004">         happy_animals:
2.3.0 :005">           dog: Dog
2.3.0 :006">           cat: Cat
2.3.0 :007">           horse: Horse
2.3.0 :008">         sad_animals: &sad_animals
2.3.0 :009">           cow: Cow
2.3.0 :010">           elephant: Elephant
2.3.0 :011">       farm_animals:  
2.3.0 :012">         <<: *animals
2.3.0 :013">         sad_animals:
2.3.0 :014">           <<: *sad_animals
2.3.0 :015">           elephant: Sick Elephant
2.3.0 :016"> YALM
2.3.0 :017"> Psych.load yaml
 => {"es"=>{"animals"=>{"happy_animals"=>{"dog"=>"Dog", "cat"=>"Cat", "horse"=>"Horse"}, "sad_animals"=>{"cow"=>"Cow", "elephant"=>"Elephant"}}, "farm_animals"=>{"happy_animals"=>{"dog"=>"Dog", "cat"=>"Cat", "horse"=>"Horse"}, "sad_animals"=>{"cow"=>"Cow", "elephant"=>"Sick Elephant"}}}} 
"sad_animals"=>{"cow"=>"Cow", "elephant"=>"Sick Elephant"}