我无法使用RESTAdapter删除记录。
型号:
Blog.Post = DS.Model.extend({
title:DS.attr('string'),
body:DS.attr('string'),
date:DS.attr('date')
});
ApplicationAdapter:
Blog.ApplicationAdapter = DS.RESTAdapter.extend({
host:'http://localhost:8080',
namespace: 'api',
serializer: Blog.ApplicationSerializer
});
我有一个动作按钮:
<button {{action deletePost this target="controller"}}>Delete post</button>
和控制器:
Blog.PostController = Ember.ObjectController.extend({
actions:{
deletePost: function () {
var post = this.get('model');
post.deleteRecord();
post.save();
}
}
});
在行动中,我得到了这个模型:
对象{日期:2014年5月15日星期四11:38:49 GMT + 0400(VOLT),
body:&#34; 131313313131311313133&#34;,
标题:&#34; 131313313131311313133&#34;,
__v:0,id:&#34; 53746f09c7cc34da0d000001&#34; ...}
__ember1400142799882_meta:Meta
__v:
0身体:( ...)
get body:function()
{set body:function(value)
{date:(...)获取日期:function()
{set date:function(value)
{id :( ...)获取id:function()
{set id:function(value)
{title:(...)得到标题:function()
{set title:function(value){
__proto__:对象
下一个例外: 未捕获的TypeError:undefined不是函数 当我调用post.deleteRecord()
时抛出此异常答案 0 :(得分:2)
可能的解决方案可能类似于this one。
您可以在Route对象中定义deletePost
操作,然后按this.currentModel
访问模型。
<强>模板:强>
<button {{action deletePost this}}>Delete post</button>
<强>路线:强>
Blog.PostRoute = Ember.Route.extend({
actions:{
deletePost: function () {
var post = this.currentModel;
post.deleteRecord();
post.save();
}
}
});