Форматирование вывода группы по дате в Rails3 - PullRequest
1 голос
/ 17 января 2012

Я следовал за этим постом, чтобы получить инструкции по группировке набора результатов по дате и добавлению счетчика.

Вывод на мой взгляд выглядит так:

 {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 Ответ

1 голос
/ 17 января 2012

Этот запрос вернет хеш, поэтому все, что вам нужно сделать, это перебрать хеш и отобразить его в таблице.

Вот краткий пример итерации по нему:

$ 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}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...