У меня возникли проблемы при использовании разбивки на страницы вместе с именованной областью. Вторая страница или любая последовательная страница разбивки на страницы с использованием named_scope по-прежнему возвращает результат с первой страницы. Использование find (: all) возвращает результат разбивки на страницы правильно. Кто-нибудь мог использовать их обоих правильно или испытать ту же проблему?Использование will_paginate с named_scoped
class Study < ActiveRecord::Base
named_scope :opened, :conditions => {:study_stat => [205, 11203]}
end
#find(:all) returns correct studies for both pages
Study.find(:all, :conditions => {:study_stat => [205, 11203]}).paginate(:per_page => 10, :page => 1).each {|e| pp e.study_number }
Study.find(:all, :conditions => {:study_stat => [205, 11203]}).paginate(:per_page => 10, :page => 2).each {|e| pp e.study_number }
#using named_scope returns correct result for the first page but the second page has the same studies as ones in the page one.
Study.opened.paginate(:per_page => 10, :page => 1).each {|e| pp e.study_number }
Study.opened.paginate(:per_page => 10, :page => 2).each {|e| pp e.study_number }
Спасибо. Я попробовал это, но все равно не повезло. Одна интересная часть может быть, что она возвращает правильное количество результатов. Поэтому, если страница 2 возвращает 3 исследования, то показаны первые три исследования первой страницы. – achristoph