使用 kaminari 反向分页

2024-02-17

我想为消息系统创建分页,其中显示的第一页包含最旧的消息,后续页面显示较新的消息。

例如,如果正常分页{a,b,c,d,e,f,g,h,i}每页 3 个是:

{a,b,c}, {d,e,f}, {g,h,i}

那么反向分页将是:

{g,h,i}, {d,e,f}, {a,b,c}

我计划在页面前面添加内容,以便结果与正常分页相同,只是从最后一页开始。

这可能吗?kaminari?


Kaminary.paginate_array不生成带有偏移量和限制的查询。出于优化原因,您不应该使用它。

相反,你可以这样做:

@messages = query_for_message.order('created_at DESC').page(params[:page]).per(3)

Where query_for_message代表用于检索分页记录的任何查询。例如,它可以是特定对话的所有消息。

现在在视图文件中,您只需要显示@messages以相反的顺序。例如:

<%= render :collection => @messages.reverse, :partial => 'message' %>
<%= paginate @messages %>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 kaminari 反向分页 的相关文章

随机推荐