Рефакторинг "фабрики" в $ ресурс

Привет я преобразовал предыдущую функцию для редактирования записей в API в следующий ресурс:

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

Теперь я хочу использовать это, вызывая форму с записями "wine" для редактирования со следующим CTA внутри wine ng-repeat для каждого вина:

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

В моем контроллере я передаю ресурс "Wine":

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


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

...

Однако, несмотря на то, что URL-адрес формы возвращает идентификатор:

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 ответ

Решение

В URL есть опечатка

wines:id

Так должно быть

wines/:id

Другие вопросы по тегам