0

백본 : 주석 처리 시스템을 만들려고합니다. 내 모델은 ID를 전달하지 않습니다. 내가 만든 의견을 백엔드에 게시하려고합니다. id 값을 옵션으로 전달하여 생성하려고 시도하지만 컬렉션의 옵션에 절대 전달되지 않습니다. 코드의 일부는 다음과 같습니다.백본 : 내 모델에서 ID를 전달하지 않습니다. 그것의 논평하는 체계. 백엔드에 생성 된 설명을 게시하려고합니다.

this.collection.create ({body : commentVal}, ({wait : true, id : _id}))));

/* This is comments Model */ 
define([ 
    'backbone' 
], function(Backbone){ 
    var CommentModel = Backbone.Model.extend({ 
    defaults: { 
     body: " " 
    } 
    }); 
    //Returns the model for the module 
    return CommentModel; 
}); 

/* This is comments collection */ 

define([ 
    'jquery', 
    'backbone', 
    '../models/comment' 
], function($, Backbone, CommentModel){ 

    var CommentCollection = Backbone.Collection.extend({ 
    model: CommentModel, 

    url: function() { 
     var urlRoot = '/api/v1/comment'; 
     return urlRoot + '/' + this.id; 
    }, 

    initialize: function(attrs,options){ 
    this.id = options.id; 
    } 

    }); 

    return CommentCollection; // We should never return collection instantiated. 
}); 
+0

당신이 뭔가를 작성하는 경우에는 ID가 없습니다. 아무 ID도 당신이 무언가를 창조하거나 배치하고 싶다는 것을 나타냅니다. 백엔드는 ID를 제공하는 ID이어야합니다. 따라서 백엔드는 ID를 적용한 다음 ID가있는 게시 된 모델 바운드를 다시 보내야합니다. – josephnvu

답변

0

이 방법은 당신을 위해 작동합니다 :

var comments = new CommentCollection([],{id:_id }); 
      comments.fetch({ 
       success: function(){}, 
       error: function(){} 
});