哈希意外地出现在渲染页面上

时间:2012-10-03 20:34:27

标签: ruby-on-rails mongoid

我有一个显示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 个答案:

答案 0 :(得分:1)

= key2.each更改为- key2.each