2011-12-12 30 views
6

tôi đã tạo ra một danh sách nhưng tôi có vấn đề tiết kiệm cho mô hình.mô hình xương sống tiết kiệm ví dụ

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; 

}, 

Tôi đã làm điều này một cách chính xác chưa? trong cùng một chế độ xem cho bộ sưu tập hoặc url 'chỉ mục' hoặc tôi có phải chỉ định một tuyến đường khác cho mô hình mới không?

Trả lời

8

Thay vào đó Mynote.save bạn nên có một cái gì đó dòng:

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

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

+2

Quan trọng hơn, anh ta cần phải nhanh chóng và tạo ra một mô hình trước khi ông có thể lưu nó. Bạn đã có Mô hình được xác định, nhưng không có bản sao của nó. 'new Mynote()' sẽ tạo một thể hiện của 'Mynote' mà sau đó có thể được sử dụng để lưu trữ dữ liệu. – tkone

+0

Không có gì trong mã của anh ấy nói rằng Mynote chưa được khởi tạo bên ngoài phạm vi chức năng này, nhưng đó là một mẹo hay cho mọi người! :) –

Các vấn đề liên quan