Я все еще застрял в приложении 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
Первый запрос работает отлично и получает всю информацию, необходимую для каждого элемента, а второй просто не подходит для подсчета моих элементов.
Есть ли способ это исправить? Если да, то как?
Большое спасибо