2013-05-05 5 views
6

私は、config/locales/*。yml Railsロケールファイルの内容を変更するRubyスクリプトを作成しています。これらのファイルには、多くの有用なコメントと変数が含まれています。RailsのロケールYAMLファイルをコメントや変数を失うことなく更新するにはどうすればよいですか?

これらを読み込んだり、更新したり、ダンプしたりすることで、これらのコメントや変数が失われてしまいます。

コメントと変数を保存しながらYAMLファイルをプログラムで更新するにはどうすればよいですか?

答えて

2

私はできないと思います。

YAMLはデータファイル内のコメントを無視しますが、解析しないため、ファイルがロードされると破棄されます。ファイルがロードされると、それらはなくなってしまいます。

私が考えることができる唯一の方法は、YAMLの外でファイルを開き、コメントを書き込んだ後、to_yamlを使って作成したYAMLコンテンツを書き込むことです。作成

require 'yaml' 

data = { 
    'foo' => 'bar', 
} 

File.open('data.yaml', 'w') do |fo| 
    fo.puts "# Don't mess with this." 
    fo.puts data.to_yaml 
end 

:ような何か

# Don't mess with this. 
--- 
foo: bar 
+0

はい、それは私がすでに続く道ですが、私はもっと良いものを考えました。このyaml追加コードを更新するのは非常に難しいです...これについて詳しく教えてください。 – brauliobo

関連する問題