2012-07-21 6 views
9

Probabilmente esiste un modo semplice per farlo ma non riesco a capire come.

Quando clicco sul mio tasto di cancellazione mostrato sotto colpi angolari il seguente url:

http://localhost:8080/rest/managedCourse?id=3 

Come posso ottenere per colpire passare una variabile percorso invece di un parametro di richiesta come questa:

http://localhost:8080/rest/managedCourse/3 

Heres mio html:

<table> 
    <tr ng-repeat="course in page.content"> 
     <td>{{course.title}}</td> 
     <td>{{course.description}}</td> 
     <td>{{course.creditValue}}</td> 
     <td><button ng-click="remove(course.id)">Delete</button></td> 
    </tr> 
</table> 

e qui è il mio controller:

function ManagedCourseController($scope, $resource) 
{ 
    var ManagedCourse = $resource("rest/managedCourse/:courseId", {courseId:'@id'}); 

    $scope.page = ManagedCourse.getPage({"page.page": "0", "page.size": "3", "page.sort": "title", "page.sort.dir": "asc"}); 


    $scope.create = function (managedCourse) { 
     ManagedCourse.create(managedCourse); 
    } 

    $scope.remove = function (courseId) { 
     ManagedCourse.remove({id:courseId}); 
    } 
} 

risposta

9
function ManagedCourseController($scope, $resource) 
{ 
    var ManagedCourse = $resource("rest/managedCourse/:courseId/:id", 
     {courseId:'@id'}); 
    ... 

dovrebbe farlo

+10

Sarà il /: id parte solo ottenere ignorato allora? Voglio solo capire come funziona. – testing123

+2

Anche se sembra funzionare, mi sto anche chiedendo come funziona. La [documentazione AngularJS sulla risorsa $] (https://docs.angularjs.org/api/ngResource/service/$resource) sembra non spiegare questo comportamento. Documenta che i valori in eccesso vengono aggiunti come parametri di query ma non come vengono saltate le parti del modello di URL –

+0

E come lo faresti per un'azione personalizzata? – Stephane