我试图摧毁一个模型(在集合和我的服务器上),并从我的理解,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