多态记录上的Ember destroyRecord调用错误的路径

时间:2016-01-26 00:19:04

标签: ember.js polymorphism ember-data

我的ember应用程序中有多态记录类型。帖子有一个叫做响应的多态关联,可以是几种响应。

// post.js
import DS from 'ember-data';

export default DS.Model.extend({
  ...
  responses: DS.hasMany('response', { polymorphic: true })
});

响应模型是所有其他类型的基础。

// response.js
import DS from 'ember-data';

export default DS.Model.extend({
  post: DS.belongsTo('post'),
  message: DS.attr('string')
});

例如,评论继承自响应。

// comment.js
import Response from '../models/response';

export default Response.extend();

这适用于使用ember-data加载模型。它正确连接到Rails服务器上的/responses以获取所有类型的响应。

但是,当我尝试使用record.destroyRecord()删除记录时,它会将删除发送到服务器上的/comments,而不是/responses。因为这是一个多态记录,所以服务器上没有comments路由。

是否有其他部分的ember-data我可以指出记录删除应该是多态的?

1 个答案:

答案 0 :(得分:0)

您正在寻找的是余烬的adapter部分。在adapter中,您可以指定呼叫的端点。

https://guides.emberjs.com/v2.3.0/models/customizing-adapters/ http://emberjs.com/api/data/classes/DS.RESTAdapter.html

确保您引用了相同版本的ember应用。

buildUrlMixin非常适合用于特定操作的网址 http://emberjs.com/api/data/classes/DS.BuildURLMixin.html

import DS from 'ember-data';

export default DS.RESTAdapter.extend({
   namespace: 'api/1'
});