Ruby on rails 叶子文档中的Repace节点
我有以下yml文件,表示Ruby on Rails项目中的本地化文件: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:
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"}