我有一个非常经典的ajax分页案例,其中我对记录进行分页(使用Kaminari),并且当用户单击“加载更多”按钮时,应通过ajax加载并插入下一页/记录集。
问题在于,我看到的大多数示例都非常简单,带有类似于以下内容的索引操作:
def index
users = User.page(params[:page]).per(10)
end
分页(或加载更多)按钮只是继续使用下一个page
参数调用该索引操作。
问题是,我的索引操作还具有很多的功能,当我想要的只是用户记录的下一页时,我不想运行所有代码。缓慢而不必要的。
按照惯例,最干净的方法是什么?我的想法是在index
之外还添加另一种方法 :
def load_more_users
users = User.page(params[:page]).per(10)
end
然后分页调用那个而不是索引。但是,是否有一种整洁的方法来执行索引操作中的条件操作,例如检查params[:page]
和if request.xhr?
是否存在?
执行此操作的最佳方法是什么?