使用Angular $资源检索Rails记录

时间:2015-04-02 16:16:54

标签: ruby-on-rails angularjs angular-resource

我正在尝试使用angular' $资源检索一个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

有关

1 个答案:

答案 0 :(得分:0)

需要一点时间来了解异步编程,来自缺乏异步的Ruby这样的语言。

您需要将回调传递给query()方法。所以你的例子看起来应该是(在JS中):

Posts.query(function(posts) {
    $scope.posts = posts;
})

旁注:最好在JavaScript中发布示例Angular代码 - 除非问题是针对CoffeeScript的。