DEBUG: Ember : 1.7.1
DEBUG: Ember Data : 1.0.0-beta.12
DEBUG: Handlebars : 1.1.2
DEBUG: jQuery : 1.10.2
我认为的问题是我的用户模型上的belongsTo属性。 (这也发生在我的应用程序中的其他belongsTo属性上)。我有一个Django后端,当我注释掉网络时返回响应:属性。
{
email: "test@test.com",
first_name: "Test",
global_code: "daht64q691zy4k887ch",
global_id: "GBID-USER-dat64q6917zy4k887ch",
institution_gbid: "GBID-GINS-567j53ey0lojsu2kys",
institution_name: "Some University",
last_name: "Testing",
network: { },
view_policy: {
capability: "system:view",
description: "Anyone can view a user",
hold: true,
id: "daht64q691y4k887ch:system:view",
values: ""
}
}
用户模型代码:
App.User = DS.Model.extend({
first_name: DS.attr('string'),
last_name: DS.attr('string'),
global_id: DS.attr('string'),
network: DS.belongsTo('basicgrouping')
}):
基本分组模型代码:
App.Basicgrouping = DS.Model.extend({
global_id: DS.attr('string'),
name: DS.attr('string'),
gbid_code: function(){
return getGBIDCode(this.get('global_id'));
}.property('global_id')
});
调试ember-data我在以下代码中放置了console.log():
relationshipsByName: Ember.computed(function() {
var map = Map.create();
this.eachComputedProperty(function(name, meta) {
console.log(name, meta);
if (meta.isRelationship) {
meta.key = name;
var relationship = relationshipFromMeta(this.store, meta);
relationship.type = typeForRelationshipMeta(this.store, meta);
map.set(name, relationship);
}
});
这似乎表明它找不到它所属对象的类型(Basicgrouping),因为它正在返回App.undefined。
我的理论是,在解析服务器响应和可能的有效负载响应时可能需要做些什么。这也发生在我的代码中的其他belongsTo关系中。
答案 0 :(得分:0)
事实证明,有一个文件覆盖了某些DS。方法并导致发送空类型。我正在删除垫片的使用过程,但不知道它正被使用。
感谢来自ember社区的Bmacs帮助调试问题。