我遇到了与这个未解决的问题相同的问题:使用Restangular嵌套资源
我使用的是MEAN堆栈
首先我得到我的俱乐部(api/clubs/club_id)
Restangular.one('clubs', $routeParams.id).get().then(function (club) {
$scope.club = club;
});
我遵循Restangular文档,并尝试做这个嵌套调用:
$scope.club.getList("contactpersons")
但是它不起作用。我相信我的嵌套调用去api/clubs/contactperson,而不是api/clubs/club_id/contactpersons,因为它应该。
我也在尝试更新俱乐部的信息。这样的
$scope.saveInfo = function () {
var newClub = Restangular.copy($scope.club);
newClub.put();
};
我得到一个错误在我的控制台,说调用去api/俱乐部,而不是api/俱乐部/club_id,因为它应该。
您的代码看起来很好。确保$routeParams.id
有正确的值。当Restangular.one
接收到null或undefined作为第二个参数时,URL将仅成为第一个参数的值。在这种情况下,如果$routeParams.id
为空或未定义,则请求将指向'/clubs'。你的控制台显示的错误似乎是因为这个,它指的是第一个请求。