余烬关系: 类型错误: 无法设置未定义的属性“存储”
Ember relationship: TypeError: Cannot set property 'store' of undefined
我在第一个带有 Node.JS 后端的 Ember.js 应用程序上收到以下错误:
Intermediate-transitioned into 'loading' ember-1.5.0.js:3521
Error while loading route: TypeError: Cannot set property 'store' of undefined
at DS.Store.Ember.Object.extend.modelFor (http://127.0.0.1:5555/js/libs/ember-data.js:2986:31)
at DS.Store.Ember.Object.extend.recordForId (http://127.0.0.1:5555/js/libs/ember-data.js:2437:29)
at deserializeRecordId (http://127.0.0.1:5555/js/libs/ember-data.js:3355:35)
at http://127.0.0.1:5555/js/libs/ember-data.js:3333:21
at http://127.0.0.1:5555/js/libs/ember-data.js:7117:30
at http://127.0.0.1:5555/js/libs/ember-1.5.0.js:3428:30
at Object.OrderedSet.forEach (http://127.0.0.1:5555/js/libs/ember-1.5.0.js:3271:24)
at Object.Map.forEach (http://127.0.0.1:5555/js/libs/ember-1.5.0.js:3426:22)
at Function.DS.Model.reopenClass.eachRelationship (http://127.0.0.1:5555/js/libs/ember-data.js:7116:50)
at normalizeRelationships (http://127.0.0.1:5555/js/libs/ember-data.js:3319:18) ember-1.5.0.js:3521
Transition #0: games: transition was aborted
以下 json 由/games 返回
{
"games": [
{
"serverSeedHash": "5eb59053dcb5810322e367245f631a65589ddf7bbe950d2986a43a5f376312ef",
"id": 2,
"serverSeed": null,
"table": [
1
],
"amountOfPlayers": 2,
"prizePool": 39600
}
],
"tables": [
{
"id": 1,
"minimumPlayers": 2,
"maximumPlayers": 100,
"cardPrice": 1000,
"games": [
2
]
}
]
}
我完整的 Ember.js 应用程序.js如下所示:
window.App = Ember.Application.create({
LOG_TRANSITIONS: true,
LOG_TRANSITIONS_INTERNAL: true
});
App.Router.map(function () {
this.route('games', { path: '/' });
});
App.Game = DS.Model.extend({
serverSeedHash: DS.attr(),
serverSeed: DS.attr(),
amountOfPlayers: DS.attr(),
prizePool: DS.attr(),
table: DS.belongsTo('table')
});
App.Table = DS.Model.extend({
minimumPlayers: DS.attr(),
maximumPlayers: DS.attr(),
games: DS.hasMany('game')
});
App.GamesRoute = Ember.Route.extend({
model: function () {
return this.store.find('game');
}
});
有谁知道为什么我会收到错误?请注意,这是我第一次玩Ember.JS。在过去的几天里,我一直在打破我的困境。
在你的game
模型中,你table
定义为一个belongsTo
关系,所以 Ember 期望它是单数的,你向它发送数组。将您的对象更改为此对象,它应该可以工作:
{
"games": [
{
...
"table": 1,
...
}
],
"tables": [
...
]
}
相关文章:
- JavaScript-将多个对象存储在数组中,并通过访问它们的属性
- 将属性作为字符串存储在变量中
- 使用 jquery .find() 遍历按类和存储属性选择元素
- RefluxJS存储可以在调用trigger()时指示哪个属性已更改吗?
- 设置 HTML 自定义属性与在 ID 属性中存储信息
- 如何在 jQuery 中存储复杂对象/Razor 中的数据属性
- 如何在对象中存储html属性
- 将Firebase url存储在外部属性文件中
- 如何在EmberJS模板中访问存储在其他变量中的键中的对象属性的值
- 生成html时,在html数据属性中存储由.push()填充的数组
- 添加隐藏属性以存储其他属性值
- 有没有任何方法可以将json对象存储在HTML标记的默认/自定义属性中,比如<tr>
- 调用存储在对象属性中的Javascript函数
- 如何使用存储的属性来选择下拉值
- 设置存储在变量中的元素的属性
- Javascript新手..如何将对象属性存储为变量,并将其值存储为另一个变量
- JavaScript属性存储它
- 使用属性存储值
- 余烬关系: 类型错误: 无法设置未定义的属性“存储”
- 将属性存储在函数中,静态