如何以及何时从服务器获取多对多关系对象

时间:2013-09-05 13:26:02

标签: javascript json ember.js ember-data

我的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'的行为也是一样的。)

0 个答案:

没有答案