使用 Angular $resource 检索 Rails 条记录
Retrieve Rails Records Using Angular $resource
我正在尝试使用 angular 的 $resource 检索 rails 记录的集合,但是当我尝试在视图中呈现这些记录时,我总是得到一个空数组。
posts_controller.rb
def index
@posts = current_user.author.posts.limit(25)
end
app.js.coffee
app = angular.module('app', ['ngResource'])
app.factory 'Posts', ($resource) ->
$resource '/posts/:id', {}, query:
method: 'GET'
isArray: true
responseType: 'json'
app.controller 'PostsCtrl', ($scope, Posts) ->
$scope.posts = Posts.query()
在控制台中,我看到 $resolved 是假的,所以我不确定这个问题是与访问 json 数据本身有关,还是与 $promise
有关
要了解异步编程需要一些时间,因为 Ruby 是一种缺少异步的语言。
您需要将回调传递给 query() 方法。所以你的例子应该看起来像(在 JS 中):
Posts.query(function(posts) {
$scope.posts = posts;
})
旁注: 最佳做法是 post 您的示例 Angular 代码 JavaScript - 除非问题特定于 CoffeeScript。
我正在尝试使用 angular 的 $resource 检索 rails 记录的集合,但是当我尝试在视图中呈现这些记录时,我总是得到一个空数组。
posts_controller.rb
def index
@posts = current_user.author.posts.limit(25)
end
app.js.coffee
app = angular.module('app', ['ngResource'])
app.factory 'Posts', ($resource) ->
$resource '/posts/:id', {}, query:
method: 'GET'
isArray: true
responseType: 'json'
app.controller 'PostsCtrl', ($scope, Posts) ->
$scope.posts = Posts.query()
在控制台中,我看到 $resolved 是假的,所以我不确定这个问题是与访问 json 数据本身有关,还是与 $promise
有关要了解异步编程需要一些时间,因为 Ruby 是一种缺少异步的语言。
您需要将回调传递给 query() 方法。所以你的例子应该看起来像(在 JS 中):
Posts.query(function(posts) {
$scope.posts = posts;
})
旁注: 最佳做法是 post 您的示例 Angular 代码 JavaScript - 除非问题特定于 CoffeeScript。