2

我的数据库中有一组记录,我想根据记录日期将其打印到单独的表中。

所以我已经有了以下内容(在 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包含我的记录日期。我想为包含当天所有记录的每一天生成单独的表格,如上面的表格。

我该怎么做?

4

1 回答 1

3

假设recorded_on是日期,而不是 DateTime:

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

如果是日期时间:

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

现在@records包含一些嵌套数组。将您的表 haml 粘贴在一个名为_record_table.html.haml. 请务必更改@records为局部变量records,以便可以为每个部分渲染换出它。

现在您的 haml 模板如下所示:

- @records.each do |records_for_one_day|
  = render :partial => 'render_table', :locals => { :records => records_for_one_day }
于 2009-04-23T16:49:26.430 回答