1

Ember Web アプリケーションに問題があります。モデルと CRUD 操作の間の関係を処理するために、ベース JS フレームワークとして Ember 1.0 安定版を使用し、Ember-data.js 1.0 ベータ 1 を使用しています。

私の単純なアプリケーションは、User と Order の 2 つのエンティティを管理し、それらの間に多対多の関係があります。

モデルは次のとおりです。

 /*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})
 });

User と Order の両方と 1 対 1 の関係を維持するモデル Userorder を作成しました。

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」へのアクセスでも同じ動作になります)。

4

0 に答える 0