重构"工厂"进入$资源

时间:2015-10-09 11:53:52

标签: angularjs ngresource angularjs-ng-resource

您好我已将用于编辑api中的记录的上一个函数转换为以下资源:

app.factory("Wine", function($resource){
    return $resource("http://greatwines.8000.com/wines:id", {
        //id as a variable
        id: "@id"
     },
     {
         update: {
             method: "PUT"
         }
    });
});

我现在想通过使用" wine"触发表单来使用它。每个葡萄酒的葡萄酒ng-repeat中使用以下CTA进行编辑的记录:

   <a href="#/wines/{{wine.id}}" class="btn btn-default">Edit Wine</a>

在我的控制器中,我传递了&#34; Wine&#34; 资源:

app.controller("editWineCtrl", function ($scope, $http, $routeParams, Wine, $location){


   Wine.get({ id: $routeParams.id }, function(wine){
        $scope.wine = wine;
   });

...

但是,尽管表单URL返回了ID:

http://greatwines.8000.com/#/wines/1323

没有字段,即:

div class="margin-top-20">
                    <input type="text" class="form-control" ng-model="wine.year" />
                </div>
                <div class="bold margin-top-20">
                    Grapes
                </div>
                <div class="margin-top-20">
                    <input type="text" class="form-control" ng-model="wine.grapes" />
                </div>

正在填充。我是否以正确的方式使用资源?

1 个答案:

答案 0 :(得分:1)

网址上有拼写错误

wines:id

应该是

wines/:id