2016-03-05 31 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(); 
});