我試圖摧毀一個模型(在集合和我的服務器上),並從我的理解,backbone.js應該通過在model.id和DELETE請求到我的服務器,如果我叫backbone.js中的this.model.destroy()返回對象沒有方法銷燬
this.model.destroy();
當我查看console.log(this.model);
,控制檯顯示我的這個結構模型。
d _callbacks: Object _changed: false _changing: false _escapedAttributes: Object _previousAttributes: Object attributes: Object cid: "c2" collection: d id: 13 __proto__: o
導軌返回404錯誤,以及何時I輸出從主鏈上的響應功能破壞,我得到
Object abort: function (a){a=a||"abort",p&&p.abort(a),w(0,a);return this} always: function(){return b.done.apply(b,arguments).fail.apply(this,arguments)} complete: function(){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g↵↵↵ ↵ Action Controller: Exception caught↵ ↵ body { background-color: #fff; color: #333; }↵↵ body, p, ol, ul, td {↵ font-family: helvetica, verdana, arial, sans-serif;↵ font-size: 13px;↵ line-height: 18px;↵ }↵↵ pre {↵ background-color: #eee;↵ padding: 10px;↵ font-size: 11px;↵ }↵↵ a { color: #000; }↵ a:visited { color: #666; }↵ a:hover { color: #fff; background-color:#000; }↵ ↵↵↵↵↵↵↵↵↵↵」 setRequestHeader:功能(A,B){如果( !s){var c = a.toLowerCase(); a = m [c] = m [c] || a,l [a] = b} return this} status:404 statusCode:function(a){ if(s){var b; if(sRouting Error
↵No route matches [DELETE] "/menu_dishes"
關於如何刪除我的模型的任何想法? 我沒有在文檔中看到有關如何將模型id傳遞到rails的任何信息,因爲我認爲這是缺少的。
this.destroy()不起作用,因爲您處於視圖中,視圖上沒有「destroy()」。 this.model.destroy()將是正確的方式(http://documentcloud.github.com/backbone/#Model-destroy)雖然你應該給我們的內容(console.log(this.model)),那會幫幫我。並且在調用this.model.destroy()時使用成功/錯誤回調,以便您瞭解發生的更多信息。 – mna 2012-02-15 13:27:54
並且在您的服務器上定義了哪些路由?我不太瞭解Ruby on Rails,但我認爲它使用「_method」字段來模擬「刪除」和「放入」http請求,對嗎? Backbone使用'Backbone.emulateHTTP = true;'支持這一點。也許值得一試。 – mna 2012-02-15 15:42:48