我的数据库中有一些记录集合,我想根据记录日期打印出来以分隔表格。
所以我已经拥有以下内容(在Haml,fyi):
%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
包含我的记录日期。我想为包含当天所有记录的每一天生成单独的表,如上面的表。
我该怎么做?
答案 0 :(得分:3)
假设recorded_on
是日期,而不是DateTime:
@records = Record.all.group_by(&:recorded_on)
如果是DateTime:
@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 }