2011-12-12 17 views
6

Ho generato un elenco ma ho problemi a salvare il modello.modello backbone salva esempio

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; 

}, 

Ho fatto correttamente? è nella stessa vista per la raccolta o l'URL 'indice' o devo specificare un percorso diverso per il nuovo modello?

risposta

8

Invece Mynote.save si dovrebbe avere qualcosa che la linea:

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

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

+2

Ancora più importante, ha bisogno di istanziare e creare un modello prima che possa salvarlo. Hai definito il Modello, ma non ne hai copia. il 'new Mynote()' creerà un'istanza di 'Mynote' che potrà quindi essere utilizzata per memorizzare i dati. – tkone

+0

Nulla nel suo codice dice che Mynote non sia già stato istanziato al di fuori dello scopo di questa funzione, ma è comunque un buon consiglio per le persone! :) –

Problemi correlati