错误的资源配置,同时使用$ resource.query()函数AngularJS / Rails的

2019-11-02 16:11发布

我是新来的角度,我想将它添加到我的Rails项目之一。 我使用的角轨宝石。 我想列出使用$ resource.query()用户,我发现了以下错误:

错误:[$资源:badcfg]错误的资源配置。 预期响应于包含一个阵列,但得到的对象

当我检查本地主机:3000 / users.json它显示用户对象的数组,所以响应应该在正确的格式。 下面是我有:

在应用程序/资产/ JavaScript的/ users.js.coffee:

app = angular.module("Volunteers", ["ngResource"])

app.factory "User", ["$resource", ($resource) ->
  $resource("/users/:id", {id: "@id"}, {update: {method: "PUT"}})
]

@UserCtrl = ["$scope", "User", ($scope, User) ->
  $scope.users = User.query()
]

在应用程序/视图/用户/ index.html的:

<div ng-controller="UserCtrl">
  <ul>
    <li ng-repeat="user in users">
      {{user.name}}
    </li>
  </ul>
</div>

而在users_controller:

class UsersController < ApplicationController
    respond_to :json, :html 

    def index
        respond_with User.all
    end

Answer 1:

app.factory "User", ["$resource", ($resource) ->
$resource("/users/:id.json", {id: "@id"}, {query: {method: "PUT"}})
]

是否键入了错误“查询”“更新”?

如果你得到的是数组,你应该设置IsArray的= true,否则将其设置为false,一样的家伙我上面说的。



Answer 2:

添加IsArray的:假以资源声明,例如:

'query': {method: 'GET', isArray: false }


文章来源: Error in resource configuration while using $resource.query() function with AngularJS/Rails