Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 余烬:模型可以';t扩展多态关联的另一个模型_Ember.js_Ember Data - Fatal编程技术网

Ember.js 余烬:模型可以';t扩展多态关联的另一个模型

Ember.js 余烬:模型可以';t扩展多态关联的另一个模型,ember.js,ember-data,Ember.js,Ember Data,我正试图让多态关联发挥作用,但到目前为止运气不佳。基本上,我希望这首歌属于播放列表和专辑 App.Playlist = App.Trackable.extend App.Album = App.Trackable.extend App.Trackable = DS.Model.extend tracks: DS.hasMany 'track' App.Track = DS.Model.extend title: DS.attr 'string' trackable: DS.be

我正试图让多态关联发挥作用,但到目前为止运气不佳。基本上,我希望这首歌属于播放列表和专辑

App.Playlist = App.Trackable.extend

App.Album = App.Trackable.extend

App.Trackable = DS.Model.extend
  tracks: DS.hasMany 'track'

App.Track = DS.Model.extend
  title: DS.attr 'string'
  trackable: DS.belongsTo('trackable',
    polymorphic: true)
但是我得到了下面的错误

Uncaught TypeError: Cannot call method 'extend' of undefined

我想你点错菜了。您正在尝试扩展尚未声明的模型。试试这个:

App.Trackable = DS.Model.extend
  tracks: DS.hasMany 'track'

App.Playlist = App.Trackable.extend

App.Album = App.Trackable.extend

App.Track = DS.Model.extend
  title: DS.attr 'string'
  trackable: DS.belongsTo('trackable',
    polymorphic: true)

我想你点错菜了。您正在尝试扩展尚未声明的模型。试试这个:

App.Trackable = DS.Model.extend
  tracks: DS.hasMany 'track'

App.Playlist = App.Trackable.extend

App.Album = App.Trackable.extend

App.Track = DS.Model.extend
  title: DS.attr 'string'
  trackable: DS.belongsTo('trackable',
    polymorphic: true)

实际上,它们都有各自的文件,因为我试图遵循余烬文件夹结构:)我明白了。你能检查一下它们的顺序是否正确吗?我认为默认情况下,它将按字母顺序进行,这将把
App.Playlist
放在
App.Trackable
之前(假设您相应地命名了它们)。我只需要在我的App.js中的Trackable文件放在其他型号之前,它就工作了:)谢谢!实际上,它们都有各自的文件,因为我试图遵循余烬文件夹结构:)我明白了。你能检查一下它们的顺序是否正确吗?我认为默认情况下,它将按字母顺序进行,这将把
App.Playlist
放在
App.Trackable
之前(假设您相应地命名了它们)。我只需要在我的App.js中的Trackable文件放在其他型号之前,它就工作了:)谢谢!