我有一个显示Mongoid文档内容的视图。当它遍历一个哈希数组时,它会根据需要显示键值对,但随后会意外地转储原始哈希的内容。谁能解释这种行为?
这是视图代码(以haml为单位);
- @account.attributes.keys.each do |key|
- if @account[key].class == Array
%b= key.humanize
%br
- @account[key].each do |key2|
= key2.each do |key3,value|
#{key3.humanize}: #{value}
%br
%br
以下是要显示的mongo记录的嵌入式集合;
"sales" : [
{ "sale_date" : Date( 1256882400000 ),
"sale_price" : 210000,
"recording_no" : "2009085729" },
{ "sale_date" : Date( 1160719200000 ),
"sale_price" : 268300,
"recording_no" : "2006088793" } ],
以下是渲染页面中显示的内容;
销售的
发售日期:2009-10-30 06:00:00 UTC
促销价:210000
录音号:2009085729
{“sale_date”=> 2009-10 -... 006-10-13 06:00:00 UTC
促销价:268300
记录号:2006088793
{ “SALE_DATE”=> 2006-10 -... ing_no “=>” 中2006088793" }
请注意,每笔销售的最后一行再次包含整个哈希值!有什么线索的原因?
答案 0 :(得分:1)
将= key2.each
更改为- key2.each
。