ActiveRecord paginate返回空结果

时间:2015-05-07 20:53:48

标签: ruby-on-rails activerecord pagination

根据will_paginate's documentation,它应该能够调用MyModel.paginate来加载一个结果页面,其中SQL查询只加载所需的行。但是,即使执行了正确的查询(对于Oracle DB,我也总是得到空结果。)对数组分页执行相同操作也行。为什么ActiveRecord :: Base.paginate不起作用? (Rails 2.3 / JRuby 1.7)

String

2 个答案:

答案 0 :(得分:0)

从参数列表中删除:all

users = User.paginate(:page => 1, :per_page => 10)

答案 1 :(得分:0)

虽然我不知道可能与旧的rails 2.3和will_paginate版本有关的确切原因。解决方法很简单:从AR查找器结果中滚动您自己的WillPaginate :: Collection,例如

# given page and per_page parameters
count = User.count(:all)
return WillPaginate::Collection.create(page, per_page, count) { |pager|
    pager.replace(User.find(:all, :offset => (page - 1) * per_page, :limit => per_page)
}