2

データベースにレコードのコレクションがあり、レコードの日付に基づいて別のテーブルに出力したいと考えています。

だから私はすでに以下を持っています(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私の記録の日付が含まれています。その日のすべてのレコードを含む日ごとに、上記のような個別のテーブルを生成したいと考えています。

どうすればいいですか?

4

1 に答える 1

3

recorded_onDateTime ではなく日付であると仮定します。

@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 }
于 2009-04-23T16:49:26.430 に答える