1

我正在尝试使用固定装置和两个模型之间的一对多关系来实现一个最小的 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

任何提示我在这里可能做错了什么?

4

1 回答 1

2

你还没有定义 which Songs an Albumhas。您需要Songs: [1,2,3]Album模型中指定。

(很确定它是Songs,但它可能Song_ids。)

于 2013-02-12T22:27:18.137 回答