will_paginate用于对象的方法结果

时间:2013-06-22 22:27:35

标签: ruby-on-rails-3 will-paginate

我正在开发一个搜索用户数据库的rails应用程序。由于搜索相当复杂,我有一个搜索模型,用于存储不同的搜索参数,以及该模型中的结果方法,它实际上将查询放在一起并返回一个对象数组。

由于搜索与结果中返回的对象之间没有关系,是否仍然可以使用will_paginate对结果进行分页?我是以错误的方式解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

应该可以做你做的事情,而不需要对数组进行分页。根据文件:

# paginate in Active Record now returns a Relation
Post.where(:published => true).paginate(:page => params[:page]).order('id DESC')

# the new, shorter page() method
Post.order('created_at DESC').page(params[:page])

((来自https://github.com/mislav/will_paginate/wiki))

...所以你应该能够创建你的“where”,甚至作为模型方法,然后对模型方法的结果进行分页。

根据以下说明,您可以根据需要对数组进行分页:

https://github.com/mislav/will_paginate/wiki/Backwards-incompatibility#willpaginatecollection