我有很多级别的嵌套哈希,如:
{ :foo => 'bar', :foo1 => { :foo2 => 'bar2', :foo3 => 'bar3', :foo4 => { :foo5 => 'bar5' }}}
Run Code Online (Sandbox Code Playgroud)
我怎样才能将它们转换成这样的XML?:
<foo>bar</foo>
<foo1>
<foo2>bar2</foo2>
<foo3>bar3</foo3>
<foo4>
<foo5>bar5</foo5>
</foo4>
</foo1>
Run Code Online (Sandbox Code Playgroud)
我尝试过该xml.send方法,但它将上面嵌套的哈希转换为:
<foo1 foo3="bar3" foo4="foo5bar5" foo2="bar2"/>
<foo>bar</foo>
Run Code Online (Sandbox Code Playgroud) 我觉得这很奇怪.为什么我不能这样做?:
puts Time.now
x=2
puts x
puts x.class
sleep x
puts Time.now
x=x.seconds
puts x
puts x.class
sleep (x)
puts Time.now
Run Code Online (Sandbox Code Playgroud)
我得到的输出是:
Mon Oct 01 16:14:58 +0530 2012
2
Fixnum
Mon Oct 01 16:15:00 +0530 2012
2
Fixnum
rake aborted!
can't convert ActiveSupport::Duration into time interval
/Users/hariharanganapathiraman/Documents/MigrationScripts/sample/lib/import/boot.rb:23:in `sleep'
Run Code Online (Sandbox Code Playgroud)
同样,它不适用于.minutes或.days.