2013-11-18 6 views
11

Я пытаюсь добавить простой метод на угловом ресурсе, в основном, как это:Угловой ресурс пользовательского URL

/API/ресурс /: идентификатор/архив

Если я делаю это так же, как это:

angular.module('myApp') 
.factory('api', function($resource) { 
    var api = { 
     messages: $resource('/api/messages/:id', {id: '@id'} 
     , { 
      archive: { 
       method: 'PUT' 
       , params: {id: '@id'} 
       , url: '/api/messages/:id/archive' 
      } 
     } 
    return api; 
}) 
.controller('myCtrl', function(api) { 
    // once I get messages and do stuff... 
    $scope.archive = function(msg) { 
     api.messages.archive({id: msg._id}, successHandler, failureHandler); 
    } 
}); 

это не работает, я получаю простую PUT (*/api/messages/{id}*). Я попробовал это с другим параметром.

В заводе:

.... 
archive: { 
    method: 'PUT' 
    , params: {id: '@id', action: '@action'} 
    , url: '/api/messages/:id/:action' 
.... 

В контроллере:

api.messages.archive({id: msg._id, action: 'archive'} ...) 

я получаю второй из параметров в качестве запроса парам, а не как часть URL.

ответ

11

Ну, после того, как я набрал вопрос, я увидел, что не использую последние угловые. Угловая 1.2.0 работает.

Смежные вопросы