javascript - emberjs hasMany 返回未定义

标签 javascript ember.js

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

相关文章:

javascript - w3schools 模态动画关闭

javascript - 使用 jQuery 将类添加到窗口垂直滚动中的不同 Div

javascript - 我将如何根据浏览器的大小取消此脚本?

javascript - chrome 中 js 日期对象中奇怪的秒偏移

ember.js - 如何记录 Ember 应用程序?

javascript - Ember 依赖项 "Uncaught TypeError: $(...).fitText is not a function"

javascript - Ember 引擎未捕获错误 : Could not find module ember-views/views/select

javascript - 按键时更改图像

javascript - 未捕获的类型错误 : Object user has no method ‘_create’

javascript - 获取组件内当前 Ember 路由的访问权限