我的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我可以指出记录删除应该是多态的?
答案 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'
});