2012-01-17 52 views
1

我已按照this發佈了關於按日期對一組結果進行分組並添加計數的說明。在Rails3中格式化按日期分組的輸出

在我看來,輸出看起來是這樣的:

{Sun, 30 Oct 2011=>17, Wed, 02 Nov 2011=>19, Fri, 11 Nov 2011=>70, Sat, 12 Nov 2011=>44, Sun, 13 Nov 2011=>38, Sun, 20 Nov 2011=>4, Mon, 21 Nov 2011=>5, Sun, 27 Nov 2011=>80, Sun, 04 Dec 2011=>16, Sat, 31 Dec 2011=>48, Mon, 02 Jan 2012=>68, Tue, 03 Jan 2012=>1, Wed, 04 Jan 2012=>3, Sun, 08 Jan 2012=>9, Mon, 09 Jan 2012=>7, Wed, 11 Jan 2012=>1, Thu, 12 Jan 2012=>1} 

我有,這是我的控制器:

@radpostauth = Radpostauth.order(:authdate).group("DATE(authdate)").count 

我不知道如何在這個表格格式化輸出?有人能幫忙嗎?

回答

1

該查詢將返回一個散列,因此您只需對該散列進行迭代並將其顯示在表中即可。

下面是迭代的一個簡單的例子在它:

$ hashish = Hash.new 
$ hashish = {'Sun, 30 Oct 2011'=>17, 'Wed, 02 Nov 2011'=>19, 'Fri, 11 Nov 2011'=>70, 'Sat, 12 Nov 2011'=>44, 'Sun, 13 Nov 2011'=>38, 'Sun, 20 Nov 2011'=>4, 'Mon, 21 Nov 2011'=>5, 'Sun, 27 Nov 2011'=>80, 'Sun, 04 Dec 2011'=>16, 'Sat, 31 Dec 2011'=>48, 'Mon, 02 Jan 2012'=>68, 'Tue, 03 Jan 2012'=>1, 'Wed, 04 Jan 2012'=>3, 'Sun, 08 Jan 2012'=>9, 'Mon, 09 Jan 2012'=>7, 'Wed, 11 Jan 2012'=>1, 'Thu, 12 Jan 2012'=>1} 
$ hashish.each {|k,v| puts "Key is #{k} and value is #{v}"} 

> Key is Sun, 30 Oct 2011 and value is 17 
> Key is Wed, 02 Nov 2011 and value is 19 
> Key is Fri, 11 Nov 2011 and value is 70 
> Key is Sat, 12 Nov 2011 and value is 44 
> Key is Sun, 13 Nov 2011 and value is 38 
> Key is Sun, 20 Nov 2011 and value is 4 
> Key is Mon, 21 Nov 2011 and value is 5 
> Key is Sun, 27 Nov 2011 and value is 80 
> Key is Sun, 04 Dec 2011 and value is 16 
> Key is Sat, 31 Dec 2011 and value is 48 
> Key is Mon, 02 Jan 2012 and value is 68 
> Key is Tue, 03 Jan 2012 and value is 1 
> Key is Wed, 04 Jan 2012 and value is 3 
> Key is Sun, 08 Jan 2012 and value is 9 
> Key is Mon, 09 Jan 2012 and value is 7 
> Key is Wed, 11 Jan 2012 and value is 1 
> Key is Thu, 12 Jan 2012 and value is 1 

下面是一個顯示錶(我使用HAML代碼,因爲你沒有指定ERB或HAML)的一個簡單的例子:

%table 
    %tr 
    - hashish.each do |k,v| 
     %td #{k} 
    %tr 
    - hashish.each do |k,v| 
     %td #{v} 

或者

%table 
    - hashish.each do |k,v| 
    %tr 
     %td #{k} 
     %td #{v} 
+0

看起來對我很好,謝謝 – simonmorley 2012-01-17 07:39:50