【发布时间】:2015-12-01 14:40:26
【问题描述】:
我正在尝试将自定义属性添加到 Ember 数据模型。具体来说,我想添加一个属性来定义要在我正在编写的 Ember 数据适配器中使用的 REST 端点。
我的模型是这样定义的(带有自定义属性“endPoint”):
import DS from 'ember-data';
export default DS.Model.extend({
partner_id : DS.attr('string'),
partner_key : DS.attr('string'),
partner_name : DS.attr('string'),
created : DS.attr('string'),
status : DS.attr('string'),
type : DS.attr('string'),
endPoint : 'api_entry'
});
在我的适配器中,我尝试按如下方式访问该属性:
_buildURL: function (modelName, store, id, snapshot, requestType, query) {
var host, namespace, url;
var model = store.modelFor(modelName);
var endPoint = model.endPoint;
var endPoint2 = Ember.get(model, 'endPoint');
console.log(endPoint, endPoint2);
host = Ember.get(this, "host");
namespace = Ember.get(this, "namespace");
url = [];
if (host) {
url.push(host);
}
if (namespace) {
url.push(namespace);
}
url.push(modelName);
url = url.join("/");
if (!host) {
url = "/" + url;
}
return url;
},
在上面的console.log 中,endPoint 和endPoint2 都是未定义的。我是 Ember 和 Javascript 的新手。我究竟做错了什么?有没有更“灰烬”的方式来做到这一点?我不想使用实际的 REST 端点名称作为我的模型名称,因为它们不符合 Ember 模型命名约定。
非常感谢您的帮助。
【问题讨论】:
标签: javascript ember.js ember-data