我正在努力建立一个"我的帐户"当前用户的页面。通常我做store.find('user', id)
之类的事情。返回当前用户数据的API端点为/account
,但我需要将此数据加载到用户模型中。我怎样才能做到这一点?
答案 0 :(得分:0)
我认为您可能需要修改适配器的buildURL方法......
e.g。
export default ApplicationAdapter.extend({
buildURL : function(type, id) {
// replace the following line with your own code
var currentUserID = 101;
if (id === currentUserID) {
return this.namespace + "/account";
} else {
return this.namespace + "/users/" + id; //assuming this is your api endpoint
}
},
});
答案 1 :(得分:0)
要将模型命名空间从users
更改为account
,请实现pathForType挂钩。
就像这样
应用/适配器/ user.js的强>
import Adapter from './application';
export default Adapter.extend({
pathForType() {
return 'account';
}
});
要另外支持此查询的单例资源,您可以实现urlForFindRecord挂钩。在这种情况下,您需要做的就是不给_buildUrl一个ID,让它做你想做的事。
import Adapter from './application';
export default Adapter.extend({
pathForType() {
return 'account';
},
urlForFindRecord(id, modelName) {
return this._buildUrl(modelName);
}
});