Will_Paginate :: Collection缺少total_entries属性

时间:2009-12-11 00:20:47

标签: ruby-on-rails will-paginate

我正在使用以下代码创建Will_Paginate::Collection对象

@paginatedResults = WillPaginate::Collection.new(1, 5)
@paginatedResults.replace @results[@paginatedResults.offset, 
                                   @paginatedResults.per_page]

但是当我尝试使用

渲染分页时
<%= will_paginate @paginatedResults %>

我得到了一个例外

You have a nil object when you didn't expect it!
The error occurred while evaluating nil.>

我已将其追溯到total_entries对象上的Will_Paginate::Collections属性。该物业不见了。我不知道为什么。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

如果您使用new来创建它,则必须手动执行计数,来自API文档:

  

new(page,per_page,total = nil)

     

构造函数的参数是当前页码,每页限制和条目总数。最后一个参数是可选的,因为最好进行延迟计数;换句话说,在使用replace方法填充集合后有条件地计数。