2014-09-14 4 views
0

저는 Laravel 4를 AngularJS를 시작점으로 사용하는 작은 응용 프로그램 (주로 angularjs를 배우는)으로 작업 해 왔습니다.Laravel 4 AngularJS 데이터베이스에서 레코드 제거

아이디어를 통해 양식을 통해 책갈피를 추가하고 이러한 테이블을 검색 가능한 테이블에 표시 할 수 있습니다. 데이터베이스에 게시하고 레코드를 저장할 수있는 곳에서 작업하고 있습니다. 다음은 그 일을 나의 필요에 완벽하게 맞 춥니 다.

$scope.addLink = function() { 

    var link = { 
     title: $scope.newTitle, 
     address: $scope.newAddress, 
     type: $scope.newType 
    }; 

    $scope.links.push(link); 

    $http.post('bookmarks', link); 
}; 

그러나 행을 삭제하는 방법을 알아낼 수 없습니다. 글쎄, 나는 그것을 테이블에서 제거 할 수 있지만 데이터베이스를 이용한 경로는 사용할 수 없다. 나는 스플 라이스 (splice)를 사용하여 테이블에서 행을 제거하는 ng-click 기능을 가지고 있지만, Laravel 라우트로 세부 사항을 전송하여 데이터베이스에서 제거하는 방법을 모른다. 지금까지 나는 이것을 가지고있다 :

명백히 $ http.delete는 올바르게 설정되지 않았지만 확실하지는 않다.

나는이 같은 경로가 있습니다

Route::delete('removemark /{id}', function($id) 
    { 
    Bookmark::destroy($id); 
    }); 

을하지만이 작동하지 않습니다. 잘하면 일부는 다음 방향으로 나를 가리킬 수 있습니다.

답변

0

직접 URL 문자열을 작성해야합니다.

$scope.remove = function (idx) { 
    var link = $scope.links[idx];  

    $http.delete('removemark/' + link.id).success(function(response){ 
     /* should validate response and then remove from array */ 
     $scope.links.splice(idx, 1); 
    }).error(function(err){ 
     /* do something with errors */ 
    }); 
}; 

서버 응답에서 삭제를 확인한 다음 배열에서 제거 할 때까지 배열에 항목을 남겨 두는 것이 좋습니다.

브라우저 콘솔 네트워크 탭을 사용하여 요청을 검사하십시오. 당신은 당신이 갖고있는 것과 404 상태를 보게 될 것이고, 상황이 옳지 않았던 곳으로 당신에게 단서를 줄 것입니다.

+0

감사합니다. 하지만 removemark와/{id} 사이에 공백이 있었기 때문에 404를 얻는 이유 중 하나가되었습니다. – boony