2016-03-05 29 views
1

似乎无法弄清楚为什么我的关系总是空的。Ember 2.2的关系总是空的

应用程序/模型/ group.js

export default Model.extend({ 
    originalID: DS.attr('number'), 
    name: DS.attr('string'), 
    slideshows: DS.hasMany('slideshow', { async: true }), 
}); 

应用程序/模型/ slideshow.js

export default Model.extend({ 
    originalID: DS.attr('number'), 
    title: DS.attr('string'), 
    group: DS.belongsTo('group', { async: true }), 
}); 

创建一些数据:

group = self.store.createRecord('group', { 
    originalID: 100, 
    name: 'Fake Group' 
}); 

group.save(); 

slideshow = self.store.createRecord('slideshow', { 
    originalID: 101, 
    title: 'Fake Slideshow', 
    group: group 
}); 

slideshow.save(); 

当我在袋查看文档数据库检查器组始终为空。我遵循Ember的文档页面上的指南,但它似乎不工作?

+0

你不会在创建幻灯片之前等待'group'保存,这可能是问题。 – locks

+0

就是这样,如果你想回答我将标记它的问题。 – Jonathan

+0

作为代码示例的答案发布;) – locks

回答

3

group.save()是一个异步操作,所以你需要保证它在完成其余部分之前完成。像这样的东西应该工作:

group.save().then(g => { 
    let slideshow = this.store.createRecord('slideshow', { 
    originalID: 101, 
    title: 'Fake Slideshow', 
    group: g 
    }); 

    slideshow.save(); 
});