2011-12-12 4 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; 

}, 

これを正しく実行しましたか?そのコレクションまたは 'インデックス' URLの同じビューでは、私は新しいモデルの別のルートを指定する必要がありますか?

答えて

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は既にこの関数の範囲外でインスタンス化されているわけではありませんが、とにかく人々のための良いヒントです。 :) –

関連する問題