Emberjs删除网址没有ID

时间:2013-04-30 13:07:29

标签: api rest ember.js playframework-2.0

我有这个任务创建者带有emberjs和一个用scala制作的API和play框架。

当我点击删除按钮时,我会转到taskController执行此操作:

Tasks.TaskController = Ember.ObjectController.extend({
    deleteTask: function(){
       var task = this.get('model');        
       task.deleteRecord();
       task.get('store').commit();
    }
});

它向

发送DELETE请求
http://localhost:9000/api/tasks

但它并没有将id放在最后,如

http://localhost:9000/api/tasks/:id

我甚至在API中添加一个路由来获取JSON并从那里删除,但是提交不会发送任何内容。

在router.js中的

我有类似的东西

Tasks.Router.map(function() {
    this.resource('tasks', {path: '/'}, function(){
        this.route('new');
        this.resource('task', {path: '/:_id'}, function(){
            this.route('edit', {path : '/:_id'});
            this.route('deleteTask', {path : '/cenas/:_id'});
            this.route('delete', {path : '/cenas/:_id'});
        });
        this.route('deleteTask', {path : '/cenas/:_id'});
        this.route('delete', {path : '/cenas/:_id'});
    });
});

模型

Tasks.Task = DS.Model.extend({
    _id: DS.attr('string'),
    idUser: DS.attr('string'),
    label: DS.attr('string'),
    date: DS.attr('date')
});

1 个答案:

答案 0 :(得分:1)

您是否已将_id映射为您的primaryKey?

 App.Adapter.map('App.Person', {
    primaryKey: '_id'
  });

https://github.com/emberjs/data/blob/master/packages/ember-data/lib/system/serializer.js#L79

除了缺失的部分之外,事情应该适用于您的初始代码块。您不需要定义删除路由,因为您的应用程序永远不会转换为实际的删除路由。