Rails Ajax分页/无限滚动-保持快速高效吗?

问题描述 投票:0回答:1

我有一个非常经典的ajax分页案例,我在其中分页记录(使用Kaminari),当用户点击“加载更多”按钮时,下一页/记录集应通过ajax加载并插入。

问题是,我看到的大多数示例都非常简单,带有类似于以下内容的索引操作:

def index
  users = User.page(params[:page]).per(10)
end

分页(或加载更多)按钮只是继续使用下一个page参数调用该索引操作。

问题是,我的索引操作比它还要多的[[LOT,并且当我想要的只是用户记录的下一页时,我不想运行所有代码-这是缓慢且不必要的。

按照惯例,最干净的方法是什么?我的想法是要对index使用另一种方法,如下所示:

def load_more_users users = User.page(params[:page]).per(10) end

分页调用该索引而不是索引。但是,在索引操作中是否有一种整齐的方法来进行条件操作,例如检查params[:page]if request.xhr?是否存在?
最佳方法是什么? 

我有一个非常经典的ajax分页案例,在其中我对记录进行分页(使用Kaminari),并且当用户点击“加载更多”按钮时,下一个页面/记录集应通过...加载并插入。

ruby-on-rails ajax pagination infinite-scroll kaminari
1个回答
0
投票
respond_to do |format| format.html { # Existing index controller code # Will render the existing template } format.js { users = User.page(params[:page]).per(10) render json: users # Or render a partial } end
© www.soinside.com 2019 - 2024. All rights reserved.