未捕获的TypeError:对象[object Object]没有方法'deleteRecord'

时间:2013-09-10 07:42:48

标签: jquery ember.js handlebars.js ember-model

我在这里使用ember-model。我试图从数组中删除记录,这是夹具的节点之一。

此(cart_items)数组与模型有hasMany的关系。 I have posted my complete code here. 在这里,我试图使用以下代码从表中删除行:

 deleteproduct: function(product){
    if (window.confirm("Are you sure you want to delete this record?")) {                           
    this.get('model').map(function(application) {
        application.get('cart_items').deleteRecord(product);                    
    });            
  }
}

但它引发了一个例外:Uncaught TypeError: Object [object Object] has no method 'deleteRecord'

Same thing i tried using this。 在这里,我没有得到任何例外,但记录也没有得到删除。

 deleteproduct: function(product){     
    if (window.confirm("Are you sure you want to delete this record?")) {                                
    this.get('model').map(function(application) {
        application.get('cart_items').map(function(cartitem) {
        console.log("+++++++++++++++++++++++");
        console.log(JSON.stringify(cartitem));
        console.log("***********************");
        console.log(JSON.stringify(product));            
            product.deleteRecord();                 
        });     
    });            
  }
}

我不知道这里发生了什么?

我认为存在一些我无法找到的背景问题。 任何人都可以帮助我使这个jsfiddle工作吗?

1 个答案:

答案 0 :(得分:1)

您应该使用removeObject代替deleteRecord

修改:我已更新您的jsfiddleremoveObject方法已在cart_items上,而非product