我正在使用YML文件存储琐碎的数据。
我可以创建yml:
File.open("data.yml", "w") do |yaml|
yaml.write(@some_hash.to_yaml)
end
然后打开yml:
path = File.expand_path(File.dirname(__FILE__))
@trivial_data = YAML.load_file("#{path}/../../../config/data.yml")
但我不知道如何更新文件。说我想添加另一行:
4:
agent_id: 332
last: Wade
first: Jason
suffix: Sr
rep_number: 2
如何打开并更新yaml文件?这对生产服务器来说是个好主意吗?
答案 0 :(得分:2)
结合你拥有的和你应该做的事情:
path = File.expand_path(File.dirname(__FILE__))
trivial_data = YAML.load_file("#{path}/../../../config/data.yml")
# ... manipulate data ...
File.open("data.yml", "w") do |yaml|
yaml.write(trivial_data.to_yaml)
end
您无法在不写入文件的情况下向文件中添加内容。 YaML是一种序列化语言,直接尝试和操作它没有多大意义。没有更简单的方法(我知道)不会非常容易出错。