Rails将使用angular.js对gem进行拼写以进行分页
上下文:我有一个Rails后端作为Angular.JS前端应用程序的API。
任务:我想从Rails后端检索不同种类的“恐龙”的所有记录。 由于有超过500条记录,我希望一次只能获得30种。
我目前的方法:我在我的Rails索引控制器动作中使用了will_paginate gem来为dinosaurs_controller。 我让它像这样运行。
def index @dinosaurs = Dinosaur.paginate(:page => params[:page], :per_page => 30) end
在我的Angular代码中:
我有一个名为DinoApp的模块,我正在使用ngresource创建一个Entry资源
app = angular.module("DinoApp", ["ngResource"]) app.factory "Entry", ["$resource", ($resource) -> $resource("/api/v1/dinosaurs/:id", {id: "@id"}, {update: {method: "PUT"}} ) ]
我的Angular控制器看起来像这样:
@MainController = ["$scope", "Entry", ($scope, Entry) -> $scope.entries = Entry.query({page: 1}) $scope.viewPost = (dinosaurId) -> ]
这行代码将在dinosaurs_controller的索引操作中命中API,并且一次只返回30种“恐龙”:
$scope.entries = Entry.query({page: 1})
现在 – 我如何让angular.js显示下一页按钮并将下一页追加到视图中?
我为此创建了一个指令,这可能会有所帮助:
您可以使用计数器来计算每次调用控制器时增加的页数。
var counter = 1; $scope.loadPage = function() { $scope.entries = Entry.query({page: counter}) counter += 1 ; }
并有一个参考下一页的按钮。
- 如何在AngularJS的Rails 4中修正设置根路由?
- 使用angular js通过rails paperclip提交文件
- Rails在AngularJS中路由参数
- 如何在不使用Asset Pipeline的情况下在Rails 5中提供静态图像?
- 适用于Angular的Rails应用程序:HAML + Rails助手
- Access-Control-Allow-Origin不允许使用Rails 3和Angularjs Origin http:// localhost。
- 如何使用angularjs和ui路由器从rails获取实例变量?
- 请求的资源上不存在“Access-Control-Allow-Origin”标头
- 防止某些DOM层次结构中的AngularJS插值