有什么插件可以同步两个 YAML 文件吗?例如 file1 有
en:
key1: "Value1"
key2: "Value2"
es:
key1: "EsValue1"
同步后需要在第二个文件中添加 key2: "Value2"不打乱次序和第二个文件中的 key1。
最佳答案
我不确定这是否会保持您想要的顺序,但如果您使用 Ruby 1.9,则很有可能因为它使用的是排序的哈希。您可以使用 YAML.load_file
将 YAML 文件的内容读入哈希,然后执行如下操作:
merger = proc { |key, v1, v2| Hash === v1 && Hash === v2 ? v1.merge(v2, &merger) : v2 }
es.merge(en, &merger)
然后再次将es hash转储到YAML文件中。
此处建议了递归合并的解决方案:http://www.ruby-forum.com/topic/142809#635081
关于ruby-on-rails - 同步两个 YAML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5470648/