预取模型对象关系的最佳方法是什么? (非延迟加载)

时间:2013-01-18 18:46:53

标签: ember.js ember-data

我有模特

App.User = DS.Model.extend({
    email: DS.attr('string'),
    first_name: DS.attr('string')
    });


App.Profile = DS.Model.extend({
    user: DS.belongsTo('App.User'),
    language: DS.belongsTo('App.Language')
    });

App.Language = DS.Model.extend({
    name: DS.attr('string')
    });

在控制器中为用户获取语言的正确方法是什么? 例如,我想保存一个Item并将语言设置为当前用户语言。

var lang = currentUser.get('profile').get('language')
App.Album.createRecord({
        'name': data.get('name'),
        'language': null
    });

第一次失败了。但如果我打电话     currentUser.get( '曲线')。获得( '语言') 下次 - 它会显示结果。

是否有类似非延迟加载或预取的内容?

var lang = currentUser.get('profile').get('language')

的工作。

1 个答案:

答案 0 :(得分:0)

我认为你正在寻找Sideloading。这些内容包含在Ember指南中:http://emberjs.com/guides/models/the-rest-adapter/#toc_sideloaded-relationships