我正在尝试使用固定装置和两个模型之间的一对多关系来实现一个最小的 emberJs 应用程序:
App.store = DS.Store.create({
revision: 11,
adapter: 'DS.FixtureAdapter'
});
App.Album = DS.Model.extend({
Name: DS.attr("string"),
Songs: DS.hasMany('App.Song')
});
App.Song = DS.Model.extend({
Name: DS.attr("string"),
Album: DS.belongsTo('App.Album')
});
App.Album.FIXTURES = [
{
id: 1,
Name: 'foo'
},
{
id: 2,
Name: 'bar'
}
];
App.Song.FIXTURES = [
{
id: 1,
Album_id: 1,
Name: "asdf"
},
{
id: 2,
Album_id: 2,
Name: "Test"
}
];
我可以像这样通过控制台访问相册模型 App.Album.find(1).get('Name') # => foo
每当我尝试通过专辑和歌曲之间的关系访问 Songs 属性时,我都未定义:
App.Album.find(1).get('Songs').objectAt(0) # undefined
有什么提示我在这里可能做错了什么吗?
最佳答案
您还没有定义Album
有哪些Song
。您需要在 Album
模型中指定 Songs: [1,2,3]
。
(很确定是 Songs
,但它可能是 Song_ids
。)
关于javascript - emberjs hasMany 返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14841047/