2013-03-26 5 views
6

Для группы по дате используется метод group_by.Ruby On Rails Mongoid Group

Example: Product.all.group_by {|d| d.created_at } # return Hash 

Но каминари не поддерживает Хеш. Я использую Mongoid, и мне нужна группа по дате с навигацией по страницам (kaminari). Как это сделать?

+4

называют Вы по этим вопросам, связанным? http://stackoverflow.com/questions/5482227/grouping-mongoid-objects-by-day?rq=1 http://stackoverflow.com/questions/7354851/mongoid-group-conditions?rq=1 http://stackoverflow.com/questions/12014009/mongoid-group-by-or-mongodb-group-by-in-rails?rq=1 http://stackoverflow.com/questions/15569469/group -clause-mongoid-rails? rq = 1 –

+0

Не могли бы вы назвать методы kaminari перед group_by? – cpuguy83

ответ

1

Kaminari поддерживает только постраничный на массиве , например

Kaminari.paginate_array(an_array).page(1).per(10) 

group_by не Mongoid метода, метод, который он Array профиль, он группирует все данные в памяти. Для того, чтобы использовать функцию группировки мангоидов, вам нужно использовать карту/уменьшить mongodb.

Если вам нужна результат группы в памяти, и показать это в виду, вам нужно вручную преобразовать хэш массива