我的Ember网络应用程序存在问题。 我使用Ember 1.0 stable作为基础JS框架和Ember-data.js 1.0 beta 1来处理模型和CRUD操作之间的关系。
我的简单应用程序管理两个实体:用户和订单,它们之间有多对多关系。
以下是模型:
/*User Model*/
App.User = DS.Model.extend({
first_name: DS.attr('string'),
last_name: DS.attr('string'),
fullName: function() {
return this.get('first_name') + ' ' + this.get('last_name');
}.property('first_name', 'last_name'),
userorders: DS.hasMany('userorder', {async: true})
});
/*Order Model*/
App.Order = DS.Model.extend({
description: DS.attr('string'),
userorders: DS.hasMany('userorder', {async: true})
});
我创建了Userorder模型,它维护了User和Order的一对一关系。
以下是Userorder的模型:
App.Userorder = DS.Model.extend({
order: DS.belongsTo("order", {async: true, key: "order_id"}),
user: DS.belongsTo("user", {async: true, key: "user_id"})
});
当我尝试获取(进入UserorderRoute)用户订单的单个实例时,我的问题出现了。遵循UserorderRoute的代码:
App.UserorderRoute = Ember.Route.extend({
model: function(params) {
return this.store.find("userorder", params.userorder_id);
}
});
正确获取了userorder实例,但是如果我尝试访问'order'对象,我会得到未定义的(显然,我对访问'user'的行为也是一样的。)