AngularJS作用域的rails查询

时间:2013-11-20 17:40:29

标签: ruby-on-rails angularjs

我刚刚开始学习与Rails后端集成的AngularJS。我对scoped查询逻辑所属的位置感到困惑。

我有一个简单的博客,其中包含一些帖子和两个链接,应按“最新”和“最多投票”对帖子进行排序。

使用angular,这个范围逻辑在哪里?我看到ng-repeat上有一个'过滤器'选项,但是如果有数千个帖子然后使用过滤器来显示前10个投票最多,那么在我的索引操作中查询Post.all似乎效率低下?

我很欣赏一个简单的解释,说明从用户点击“最多投票”链接到与后端API进行交互以正确确定查询范围的方式应该发生什么。

1 个答案:

答案 0 :(得分:0)

我会在order_by的请求中添加一个参数PostsController。使用此参数,您可以决定如何订购从数据库中获取的帖子,然后将发送返回到角度。

值得注意两件事:

  1. 不要使用Post.all,因为将所有记录提取到应用程序效率很低,甚至更糟糕的是将所有记录发送到客户端。使用分页:获取一定数量的帖子。您可以使用kaminariwill_paginate

  2. 等宝石轻松添加分页
  3. 请记住,不要将params[:order_by]值直接作为Post.order()参数,因为它可能会导致SQL注入。它在this Railscast

  4. 中提到过