2014-01-14 103 views
1

首先,我使用ember.js 1.0.0,ember-data 1.0.0 b3DS.RESTAdapterEmber.js deleteRecord()in Controller not working

創建工作正常,到目前爲止,但如果我嘗試刪除一條記錄(得到它直接從入門)我收到以下錯誤信息:

​​

這是我的模板:

{{#each}} 
    {{#link-to "role" this classBinding="isLoading:is-loading" tag="tr" }} 
     <td>{{ name }}</td> 
     <td>{{ role }}</td> 
     <td><button {{ action "deleteRoleAction" this}}>[x]</button></td> 
    {{/link-to}} 
    {{/each}} 

,這是操作(在控制器)

this.get('model').deleteRecord() 

任何幫助表示讚賞。

回答

2

不知道如何分配控制器的模型屬性,很難說爲什麼該對象不會響應deleteRecord。但看起來你正在做的是迭代控制器的內容(大概是一個集合),然後將各個模型傳遞給動作({{action "deleteRoleAction" this}})。所以,你可能希望你的行動看起來像這樣:

deleteRoleAction: function(role) { 
    role.deleteRecord(); 
} 

注意deleteRecord本身只設置模型上的刪除標誌;如果您確實想要將該刪除保存到您的服務器,則還需要撥打role.save();。 (在1.0.0.b4中也有一個新的destroyRecord方法,它們都可以。)

+0

謝謝。這解決了我的問題。儘管如此,入門正在按照我所做的方式進行,並且在那裏工作。 –

+0

這是因爲他們爲每個Todo項目設置了一個新的itemController:http://emberjs.com/guides/getting-started/marking-a-model-as-complete-incomplete/ –