0

所以我有一个搜索控制器,它返回一组对象 ID(在本例中为“用户”)。

由于搜索结果数组可以包含数百个 ID,我宁愿仅在需要将它们发送到视图时才获取实际对象本身。简而言之,我想使用分页为每个 ID 块(即 1..10、11..20 等)预先获取对象本身,而不是让视图逻辑获取对象。我不知道如何做到这一点。

我的控制器代码

users = [1,3,456,23423,234,23...]
#somehow have the pagination get the Objects from DB for each page
@persons = Kaminari.paginate_array(users).page(params[:page]).per(10)

看法

- @persons.each do |person| #I WANT TO HAVE THE FULL WRITER OBJECT BY NOW
  = person.name             # instead of doing a 'User.find(person.id)' in the view

有任何想法吗?

提前致谢!

4

2 回答 2

0

我是个白痴。您可以根据 @persons 数组映射或收集一个新数组

于 2012-04-12T15:17:02.127 回答
0

在 url 中放一个页码参数。然后,如果您想每页显示 10 个并假设用户单击第三页,则将页码减去一页 (10) 并添加一页,得到 21。这是您开始查询数据库。并限制为 10 个结果

于 2012-04-12T15:18:01.550 回答