2011-08-23 25 views
0

按照這些指令 http://robertogds.com/post/3324511589/howto-backbone-js-using-rails-3不正確使用POST Backbone.js的

問題/錯誤是,內容永遠不會保存到數據庫。用Firebug看來該POST JSON請求是不正確: 內容 「空TODO ......」 做 假
文本 「測試」

基本上,Backbone.js的事件觸發一個JSON更新時需要輸入數據(「測試」)並創建新的模型屬性「文本」,而不是更新「內容」數據屬性...

有什麼想法嗎?

回答

0

看來,該文章的作者忘記了幾個步驟。需要todos.js文件,包括一些修改,以確保:文本變量(在Backbone.js的待辦事項例子)變更爲:內容

例如的setText功能

var text = this.model.get('content'); 

關閉功能

// Close the `"editing"` mode, saving changes to the todo. 
    close: function() { 
     this.model.save({content: this.input.val()}); 
     $(this.el).removeClass("editing"); 
    }, 

和createOnEnter功能

// create new **Todo** model persisting it to *localStorage*. 
    createOnEnter: function(e) { 
     var text = this.input.val(); 
     if (!text || e.keyCode != 13) return; 
     Todos.create({content: text}); 
     this.input.val(''); 
    }, 
0

你叫保存在Backbone.js的模式是這樣的:

t = new Todo; 

t.set({ 'content' : 'test' }); 

t.save(); 

或者,你這樣做:

t = new Todo; 

t.save({ 'content' : 'test' }); 

也有來自Web服務器的任何輸出到控制檯當你嘗試並保存模型?這可能有助於縮小問題所在。

+1

我理解了它...的instructio ns忘記了需要更新Todo.js以確保示例To​​do應用中的:text變量已更新爲:content。所以,如果不設置它將默認值發送到服務器的值(我從json文章中知道) – Jon