2012-10-03 84 views
0

我有一個顯示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「}

注意每個銷售的最後一行包含整個散列!任何線索爲什麼?

回答

1

變化= key2.each變爲- key2.each

+0

你達人!!! 我想我已經在這太久了,也許我需要休息一下! ;-) – SteveO7