【发布时间】:2020-09-17 06:39:40
【问题描述】:
我有一个非常经典的 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? 是否存在?
最好的方法是什么?
【问题讨论】:
标签: ruby-on-rails ajax pagination infinite-scroll kaminari