我正在尝试使用灯具和两个模型之间的一对多关系来实现最小的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
每当我尝试通过专辑和歌曲之间的关系来访问歌曲属性时,我得到了未定义:
App.Album.find(1).get('Songs').objectAt(0) # undefined
任何提示我可能在这里做错了什么?
答案 0 :(得分:2)
您尚未定义Song
Album
和Songs: [1,2,3]
。您需要在Album
模型中指定Songs
。
(很确定它是Song_ids
,但可能是{{1}}。)