2012-02-28 195 views
0

我正在使用YML文件來存儲瑣碎的數據。在生產服務器上更新YML

我可以創造陽明:

File.open("data.yml", "w") do |yaml| 
    yaml.write(@some_hash.to_yaml) 
end 

而且開陽明:

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文件?在生產服務器上這是一個好主意嗎?

+1

結合這兩個,你有你的答案。 – 2012-02-28 00:45:29

+0

是否沒有快捷方式來打開和添加單個記錄?我確實有幾百條記錄。 – 2012-02-28 00:49:15

回答

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是一種序列化語言,嘗試直接操作它並沒有多大意義。沒有簡單的方法(我知道)並不是很容易出錯。