2013-05-17 3 views
0

이 메시지는 여러 번 있지만 나는 내 문제에 대한 해결책을 찾을 수 없다는 것을 알고있다. 다른 모든 질문에서 답은 ID가 설정되지 않았거나 _id 등이 있어야합니다.destroy()가 DELETE 요청을 보내지 않음

사용자 지정 동기화 또는 파괴 방법이 없습니다. 모든 것이 표준입니다.

내 모델과 컬렉션 : 이것은 내가 모델을 삭제할 내 비트

class Load extends Backbone.Model 
    localStorage: new Backbone.LocalStorage 'relodr.load' 
    urlRoot: relodr.api.url + "loads/" 
class Loads extends Backbone.Collection 
    model = Load 
    localStorage: new Backbone.LocalStorage 'relodr.loads' 
    url: relodr.api.url + "loads/" 

입니다 :

delete: (e) => 
     f = $(e.currentTarget) 
     id = $(f.parent()).attr("data-id") 
     load = new Loads() 
     load.fetch() 
     model = load.get id 
     console.log model 
     model.destroy() 

모델이 컬렉션에서 삭제되지만 DELETE가 전송되지 않았다 서버.

이것은 CONSOLE.LOG 모델 :

Backbone.Model {cid: "c5", attributes: Object, collection: Loads, _changing: false,  _previousAttributes: Object…} 
    _changing: false 
    _events: Object 
    _pending: false 
    _previousAttributes: Object 
    attributes: Object 
    changed: Object 
    cid: "c5" 
    id: 2 
    __proto__: Object 

그래서 난 모델의 ID를 가지고, 내 모델은 URL 세트를 가지고있다.

나는이 할 경우는 500 오류 (obviasly)로 돌아 있지만

그것은 작동
model = new Load 
    id: 99 
model.destroy() 

, 삭제 요청이 전송됩니다. 그래서 그것은 URL 등이 정확하고 일하고 있다는 것을 말해줍니다.

내 파괴 방법이 작동하지 않는 이유는 확실하지 않습니다. 내가 위에서 만든 모델을 로그인 할 때 UPDATE

은 흥미롭게도 다음과 같습니다

Load {cid: "c6", attributes: Object, _changing: false, _previousAttributes: Object, changed: Object…} 

그래서 하나가 말했다로드 (모델 이름)과 다른 Backbone.Model

답변

3

을 내 생각 엔 아마도 모델에 대해 urlRoot 속성을 설정하지 않았을 것입니다.

+0

내 업데이트 – Harry

+0

을 보시기 바랍니다. model.url()은 올바른 URL을 제공합니다. http : //192..../api/loads/2 – Harry

+0

로드 모델에 대해 localStorage 특성을 제거하려고합니다. Loads 컬렉션을 위해 그대로 둡니다. –

-1

최근에이 문제가 발생했습니다. 이것은 백본 문제는 아니지만 jQuery 문제입니다. jQuery 문제의 기본값은 'json'이라는 데이터 유형이며 데이터에 JSON 페이로드가 있으므로 호출을 실행하면 jQuery가 실제로 DELETE에서 방아쇠를 당깁니다.

이 해결하기 위해, jQuery.ajax에 전달 될 것입니다 몇 가지 옵션을 사용하여 삭제를 시도해보십시오
model.delete({ 
    type: 'text', 
    contentType : 'text/plain' 
}); 

내가 마치 마법처럼 작동하는 것을 발견했다.

+0

당신은 파괴를 의미할까요? 이것은 나를 위해 작동하지 않습니다 – Harry

+0

죄송합니다 .. 예 .. 오 잘 ... 귀하의 서버가 삭제에 대한 페이로드의 일종을 기대하고 있습니까? 또는 삭제를 수행하기 위해 POST를 수행해야하는 구식 서버 중 하나입니까? –

관련 문제