ruby-on-rails – 通过ruby代码读取和更新YAML文件

我已经写了一个这样的yml文件:

last_update: '2014-01-28 11:00:00'

我正在读这个文件

config = YAML.load('config/data.yml')

后来我正在使用last_update_time作为config [‘last_update’],但是它不起作用。另外我想更新last_update_time我的ruby代码,因为它应该更新如下:

 last_update: '2014-01-29 23:59:59' 

我不知道该怎么做

切换到.load_file,你应该很好去。

#!/usr/bin/env ruby
require 'yaml'
config = YAML.load_file('data.yml')
puts config['last_update']

跑完这就是我得到的

orcus:~ user$ ruby test.rb
# ⇒ some_data

要写入文件,您需要打开YAML文件并写入句柄。这样的事情应该有效。

require 'yaml'
config = YAML.load_file('data.yml')
puts config['last_update'] #in my file this is set to "some data"
config['last_update'] = "other data"
File.open('data.yml','w') do |h| 
   h.write config.to_yaml
end

产量是

orcus:~ user$ ruby test.rb
some data
orcus:~ user$ cat data.yml
---
last_update: other data
翻译自:https://stackoverflow.com/questions/21422494/reading-and-updating-yaml-file-by-ruby-code

转载注明原文:ruby-on-rails – 通过ruby代码读取和更新YAML文件