将数据从哈希保存到YAML文件

时间:2014-07-15 13:34:47

标签: ruby-on-rails ruby

当我尝试将数据从哈希保存到文件时,我只得到哈希的最后一行。出了什么问题?

h= {}
infoArray.zip(href) {|a,b| h[a.to_sym] = b } # i convert two array in hash 

File.open("lib/alreadyPass.yml","w") do |file|
       file.write h.to_yaml
  end 

我的哈希的一个例子是:

{:"client-1.domaine.net"=>"www.client-1.domaine.net/index.html/xxxxxx"}

{:"client-2.domaine.net"=>"www.client-2.domaine.net/index.html/xxxxxx"}

我得到的输出YAML文件是:

---
:client-1.domaine.net:
- www.client-1.domaine.net/index.html/xxxxxx

1 个答案:

答案 0 :(得分:2)

正确的方法是这样的:

require 'yaml'
array_of_hashes = [{:"client-1.domaine.net"=>"www.client-1.domaine.net/index.html/xxxxxx"},{:"client-2.domaine.net"=>"www.client-2.domaine.net/index.html/xxxxxx"}]

File.open("lib/yamlfile.yml","w") do |file|
   file.write array_of_hashes.to_yaml
end 

这也适用于散列哈希......