【发布时间】:2015-06-03 07:19:17
【问题描述】:
我有一个 AngularJS Web 应用程序,它向 Ruby on Rails api 发送请求。 webapp 有一个显示结果的搜索器。查询很复杂,并且有某种分页(每次提供 20 个结果),带有限制和偏移量,如下所示:
SELECT SELECT DISTINCT b.id
FROM ...
WHERE ...
LIMIT 20 OFFSET 0
在搜索器中,我想显示结果的总数,例如:显示来自 totalCount 的 1 到 20。
要获取totalCount,我唯一的方法是执行两次查询,一次获取元素,另一次获取totalCount。但是,我想避免这种情况,因为它是一个复杂的查询。
有没有更好的方法来获得这个总数?
【问题讨论】:
-
您是否使用任何 gem 进行 Rails 分页?还是只是从 angularjs 处理分页器?
-
我正在使用 AngularJS 的分页和无限滚动。
-
这不是正确的方法,您应该从服务器端处理分页参数,否则会出错。
-
Rails api 就是这样一个 API。因此,它只接收请求并返回结果。当然,我在 web 应用程序中有一个 pageIndex 参数,它作为请求的一部分发送到 Rails API,因此 API 知道显示哪个页面。
标签: sql ruby-on-rails angularjs pagination