Ruby on Rails 3 простая группировка и подсчет - PullRequest
2 голосов
/ 03 июня 2011

Скажем, у меня есть объект 'Car', который содержит столбец 'color'. Я хочу, на мой взгляд, список цветов с количеством раз, которое оно появилось.

---Car----Color---
Explorer Black
Charger  Yellow
Prius    Black
Jetta    Black
Ferrari  Red 
Pinto    Yellow

На мой взгляд, я хочу:

--Color--Count--
Black      3
Yellow     2
Red        1

В моем контроллере я попытался создать список вроде:

@colorcount = Car.all.count(:group => :color)

и тогда, на мой взгляд, у меня есть что-то вроде

<%= @colorcount.each do |car, count| %>
   <%= car.color %>, <%= count %>
<% end %>

но я получаю сообщение об ошибке:

undefined method `each' for 0:Fixnum

Есть ли еще что-нибудь к этому? Спасибо за любую помощь.

1 Ответ

9 голосов
/ 03 июня 2011
@groups = Car.count(:group=>:color)

<% @groups.each do |color,count| %>
  <%= "#{color}, #{count}" %>
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...