如何通过will_paginate取消分页对象的分页?

时间:2015-04-06 19:07:51

标签: ruby-on-rails pagination

@models是一个带有gem [will_paginate][1]的分页对象:

 @models = @models.page(params[:page]).per_page(50)

然后检索id:

id_array = @models.pluck('id')

id_array中只有前50个ID,因为@models是分页的。有没有办法取消@models的分页?

1 个答案:

答案 0 :(得分:1)

如果您知道@models包含用户记录:

User.scoped.pluck(:id)

如果您不知道包含@models的内容:

@models.first.try(:class).try(:pluck, :id)

但是第二个选项只有在@models数组中至少有一个记录时才有效,如果@models包含多个Model的记录(例如:User和Player记录),它也不会获取两个模型的所有ID但只有一个。