4
App.User = DS.Model.extend({
  posts: DS.hasMany('post', {async: true})
});

App.Post = DS.Model.extend({
  body: DS.attr(),
  user: DS.belongsTo('user')
});

App.ProfileRoute = Ember.Route.extend({
  model: function(params) {
    return this.get('store').find('user', params.user_id)
  }
});

そしてテンプレで

{{#each post in model.posts}}
  {{post.body}}
{{/each}}

ユーザーのjson。ユーザー json に投稿を埋め込みたくない

{user: { posts: [1, 2, 3] }}

これは何もレンダリングしません。このエラーが発生した後、サーバーから投稿jsonを受け取ります

アサーションに失敗しました: '' の 'posts' 関係を検索しましたが、関連付けられたレコードの一部が読み込まれませんでした。それらがすべて親レコードと一緒にロードされていることを確認するか、関係が非同期であることを指定します ( DS.attr({ async: true }))

chrome インスペクターでは、すべてのデータが正しく読み込まれていることがわかります。どうすればこれを解決できますか? テンプレートで使用するすべてのモデルをプリロードする必要がありますか?

4

2 に答える 2

0

ルートのmodel関数にがないため、モデルがないためにreturnアクセスしようとするとエラーがスローされます。model.posts

App.ProfileRoute = Ember.Route.extend({
  model: function(params) {
    return this.get('store').find('user', params.user_id);
  }
});
于 2013-09-05T07:05:16.997 に答える