2011-12-12 124 views
6

我已經生成了一個列表,但我在保存模型時遇到了問題。骨幹模型保存示例

createOnEnter: function(e) { 
    var self = this; 
    var input = this.$("#new-title"); 
    var input2 = this.$("#new-content"); 
    //var msg = this.model.isNew() ? 'Successfully created!' : "Saved!"; 
    if (!input || e.keyCode != 13) return; 
    Mynote.save({title: this.input.val(), content: this.input2.val() }, { 
     success: function(model, resp) { 
      new LibraryView.Notice({message: msg}); 

      self.model = model; 
      self.render(); 
      self.delegateEvents(); 

      Backbone.history.saveLocation('mynotes/' + model.id); 
     }, 
     error: function() { 
      new LibraryView.error(); 
     } 

    }); 

    return false; 

}, 

我做得對嗎?它在相同的觀點收集或'索引'網址或我需要爲新模型指定一個不同的路線?

回答

8

相反Mynote.save你應該有一些行:

var note = new Mynote(); 
note.save({ tile: ..., content: .. }, { success: ..., error: ..}); 

http://documentcloud.github.com/backbone/#Model-save

+2

更重要的是,他需要實例,並創建一個模型之前,他可以將它保存。你已經定義了模型,但沒有它的副本。 'new Mynote()'將創建一個'Mynote'的實例,然後可以用它來存儲數據。 – tkone

+0

他的代碼中沒有任何內容表明Mynote還沒有在此函數的範圍之外被實例化,但對於人們來說這是一個很好的提示! :) –