2009-04-23 41 views
2

我有我的數據庫中的記錄,我想打印出基於記錄日期單獨的表的集合羣。Rails的:產生表的基礎上,相關的數據庫記錄

所以,我已經有了如下(Haml的,僅供參考):

%table 
    %tr 
    %th Name 
    %th Type 
    %th Total Hits 
    - for record in @records 
    %tr{ :class => cycle('odd','even') } 
     %td= record.name 
     %td= record.target_type 
     %td= record.outbound + record.detail + record.custom + record.dynamic 

目前,它顯示我在同一個表中的所有記錄。 record.recorded_on包含我的記錄日期。我想爲每天包含當天所有記錄的日子生成單獨的表,如上所示。

我該怎麼做?

回答

3

假設recorded_on是一個日期,而不是一個DateTime:

@records = Record.all.group_by(&:recorded_on) 

如果它是一個DateTime:

@records = Record.all.group_by { |record| record.recorded_on.to_date } 

現在@records包含一些嵌套數組。把你的桌子放在上面,名字叫做_record_table.html.haml。一定要改變@records一個局部變量records,因此它可以對每一個局部渲染被交換出去。

現在你的HAML模板看起來是這樣的:

- @records.each do |records_for_one_day| 
    = render :partial => 'render_table', :locals => { :records => records_for_one_day } 
+0

感謝 - 正是我需要的。出於好奇,不過,什麼是「與」平均在@records = Record.all.group_by(:recorded_on)? – neezer 2009-04-23 18:16:46

相關問題