will_paginate не получает нужное количество страниц при использовании с параметром группы - PullRequest
1 голос
/ 29 декабря 2011

Я все еще застрял в приложении Rails 2.3.8. Недавно я установил гем 'will_paginate', чтобы немного упростить мою жизнь при создании страниц. В большинстве случаев он работает очень хорошо, но когда я установил опцию :group, количество страниц было неправильно рассчитано.

пример:

@items = Item.find(:all, :select => 'items.*, count(accounts_items.id) as users_count',:joins => 'join accounts_items on accounts.id = accounts_items.item_id', :group => 'items.id').paginate :page=>params[:page],:per_page=>12

Когда я проверял запросы, выполненные из журналов, они выглядели так:

ВЫБРАТЬ элементы. *, Считать (accounts_items.id) как users_count FROM items присоединить account_items к items.id = accounts_items.item_id GROUP BY spaces.id ORDER BY users_count DESC LIMIT 0, 12

SELECT count (*) AS count_all FROM items присоединить элементы_счета к item.id = accounts_spaces.space_id

Первый запрос работает отлично и получает всю информацию, необходимую для каждого элемента, а второй просто не подходит для подсчета моих элементов.

Есть ли способ это исправить? Если да, то как?

Большое спасибо

...