2012-07-21 11 views
9

Probablemente haya una manera fácil de hacerlo, pero parece que no puedo averiguar cómo.

Cuando hago clic en mi botón de borrar se muestra a continuación éxitos angulares de la siguiente URL:

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

¿Cómo puedo conseguir que golpeó pasar una variable de ruta en lugar de un parámetro de la petición así:

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

Heres mi 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> 

Y aquí es mi controlador:

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}); 
    } 
} 

Respuesta

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

debe hacerlo

+10

¿El /: parte ID simplemente ignorados entonces? Solo quiero entender cómo funciona eso. – testing123

+2

Aunque esto parece funcionar, también me pregunto cómo funciona esto. La [documentación de AngularJS sobre $ recurso] (https://docs.angularjs.org/api/ngResource/service/$resource) parece no explicar este comportamiento. Documenta los valores en exceso se agregan como parámetros de consulta, pero no cómo se saltan partes de la plantilla de URL –

+0

¿Y cómo lo haría para una acción personalizada? – Stephane

Cuestiones relacionadas