控制器中的Ember.js deleteRecord()不工作

控制器中的Ember.js deleteRecord()不工作,ember.js,ember-data,Ember.js,Ember Data,首先,我使用ember.js 1.0.0,ember-data 1.0.0 b3和DS.RESTAdapter 到目前为止,创建工作正常,但如果我尝试删除一条记录(从入门开始就直接删除),我会收到以下错误消息: 未捕获类型错误:对象[Object Object]没有方法“deleteRecord” 这是我的模板: {{#each}} {{#link-to "role" this classBinding="isLoading:is-loading" tag="tr" }}

首先,我使用
ember.js 1.0.0
ember-data 1.0.0 b3
DS.RESTAdapter

到目前为止,创建工作正常,但如果我尝试删除一条记录(从入门开始就直接删除),我会收到以下错误消息:

未捕获类型错误:对象[Object Object]没有方法“deleteRecord”

这是我的模板:

   {{#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}}

感谢您的帮助。

如果不知道控制器的模型属性是如何分配的,很难说为什么该对象不会响应
deleteRecord
。但看起来您所做的是迭代控制器的内容(可能是一个集合),然后将各个模型传递给操作(
{{action“deleteRoleAction”this}
)。因此,您可能希望您的操作如下所示:

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

请注意,
deleteRecord
本身仅在模型上设置删除标志;如果确实要将删除内容保存到服务器,则需要调用
role.save()也是。(1.0.0.b4中还有一个新的
destroyRecord
方法,可以同时执行这两个功能。)

谢谢。这解决了我的问题。但问题是,《入门》是以我当时的方式进行的,并且在那里工作。这是因为他们为每个待办事项设置了一个新的itemController:
deleteRoleAction: function(role) {
  role.deleteRecord();
}