Rails,helper不输出循环结果

时间:2011-09-20 04:01:02

标签: ruby-on-rails

我尝试渲染一个表,其中包含每周每天每小时的值,我实际上是使用此jquery插件为图表着色,但是应输出数据以匹配其网站上的数据:{{ 3}}

我的数据正由铁路输出:

@data = [
  {"day"=>1.0, "hour"=>19.0, "count"=>6623.0},
  {"day"=>1.0, "hour"=>20.0, "count"=>7242.0},
  {"day"=>1.0, "hour"=>21.0, "count"=>7148.0},
  {"day"=>1.0, "hour"=>22.0, "count"=>7196.0},
  {"day"=>1.0, "hour"=>23.0, "count"=>7244.0},
  {"day"=>2.0, "hour"=>0.0, "count"=>7147.0},
  {"day"=>2.0, "hour"=>1.0, "count"=>7217.0}
  # ...
]

我的助手看起来如下,这就是问题所在

def table_counts(data)
  days = 1..7
  hours = 0..23

  hours.each do |hour|
    content_tag(:td, hour)

    day_of_week = data.select {|f| f["hour"] == hour }
    day_of_week.each do |d|
      content_tag(:td, d['count']) 
    end
  end
end

所以主要问题在于我的观点我没有得到content_tag我只得到hours的值,因此html的输出实际上是0..23,如何我可以通过我的助手获得所有td的输出吗?

1 个答案:

答案 0 :(得分:2)

each返回迭代的集合。你想要mapmap会返回一个数组,然后您需要join