RoR在html表上显示组的计数

时间:2014-01-08 12:12:32

标签: ruby-on-rails ruby activerecord

我正在尝试像这样运行一个activerecord语句

@items=History.count(:group => "DATE(timelogin)")

在我的观点上,我试图在html表中显示我的记录,如此

<table class="table table-striped table-bordered table-condensed">
   <% @item.each do |key,val| %>
      <tr>
         <td> <% key %></td>
         <td> <% val %></td>
      </tr>
   <% end %>
</table>

我尝试了别的东西,而在搜索时,我想出了以下链接 What is the best way to convert an array to a hash in Ruby我替换了我的视图代码,因为它显示在链接中。

但它什么也没做。我后来添加了=这样的

<%= @item.each do |key,val| %>

它显示整个结果一次并呈现为空表。

在网页和rails控制台中呈现的结果如下:

{"2014-01-08"=>1, "2013-12-31"=>2, "2013-12-30"=>2, "2013-12-26"=>5, "2013-12-24"=>1,
"2013-12-23"=>1, "2013-12-20"=>2, "2013-12-18"=>2, "2013-12-17"=>2, "2013-12-04"=>1, 
"2013-12-03"=>5, "2013-12-02"=>1, "2013-11-28"=>7, "2013-11-20"=>1, "2013-11-19"=>1, 
"2013-11-18"=>1, "2013-11-12"=>1, "2013-11-06"=>1, "2013-10-29"=>2, "2013-10-25"=>1, 
"2013-10-23"=>1, "2013-10-15"=>1, "2013-10-14"=>3, "2013-10-10"=>2} 

请让我知道我做错了什么。

2 个答案:

答案 0 :(得分:4)

缺少=。用它来输出。此外,您在视图中使用@item,但在代码中将值分配给@items。缺少s

<% @items.each do |key,val| %>
   <tr>
      <td> <%= key %></td>
      <td> <%= val %></td>
   </tr>
<% end %>

答案 1 :(得分:1)

试试这个

<table class="table table-striped table-bordered table-condensed">
 <% @item.each do |key,val| %>
  <tr>
     <td> <%= key %></td>
     <td> <%= val %></td>
  </tr>
 <% end %>
</table>