我在使用ember-data在ember js中加載模型實例時遇到問題。使用函數store.find時會引發異常。實例使用FixtureAdapter創建。 hasMany關係在模型中定義時發生問題。TypeError:無法設置未定義的屬性'store'
App = Ember.Application.create();
App.Store = DS.Store.extend({
adapter: DS.FixtureAdapter
});
App.Country = DS.Model.extend({
'name': DS.attr('string'),
'cities': DS.hasMany('city', {embedded: true})
});
App.City = DS.Model.extend({
'name': DS.attr('string'),
'country': DS.belongsTo('country')
});
App.City.FIXTURES = [{
}];
App.Country.FIXTURES = [{
'id': 1,
'name': 'USA',
'cities': [{id: 1, name: 'New York'}, {id: 2, name: 'San Francisco'}]
},{
'id': 2,
'name': 'Kanada',
'cities': [{id: 3, name: 'Montreal'}]
}];
App.IndexRoute = Ember.Route.extend({
model: function() {
var store = this.store;
var country = store.find('country', 1);
return country;
}
});
DEBUG: ------------------------------- ember.js:3496
DEBUG: Ember : 1.5.0-beta.2 ember.js:3496
DEBUG: Ember Data : 1.0.0-beta.7.f87cba88 ember.js:3496
DEBUG: Handlebars : 1.3.0 ember.js:3496
DEBUG: jQuery : 2.1.0 ember.js:3496
DEBUG: ------------------------------- ember.js:3496
Error while loading route: TypeError: Cannot set property 'store' of undefined
at Ember.Object.extend.modelFor (http://builds.emberjs.com/tags/v1.0.0-beta.7/ember-data.js:9812:23)
at Ember.Object.extend.recordForId (http://builds.emberjs.com/tags/v1.0.0-beta.7/ember-data.js:9265:21)
at deserializeRecordId (http://builds.emberjs.com/tags/v1.0.0-beta.7/ember-data.js:10196:27)
at deserializeRecordIds (http://builds.emberjs.com/tags/v1.0.0-beta.7/ember-data.js:10210:9)
at http://builds.emberjs.com/tags/v1.0.0-beta.7/ember-data.js:10176:11
at http://builds.emberjs.com/tags/v1.0.0-beta.7/ember-data.js:8517:20
at http://builds.emberjs.com/tags/v1.5.0-beta.2/ember.js:3403:16
at Object.OrderedSet.forEach (http://builds.emberjs.com/tags/v1.5.0-beta.2/ember.js:3246:10)
at Object.Map.forEach (http://builds.emberjs.com/tags/v1.5.0-beta.2/ember.js:3401:10)
at Function.Model.reopenClass.eachRelationship (http://builds.emberjs.com/tags/v1.0.0-beta.7/ember-data.js:8516:42)
的hasMany燈具應該這樣定義IMO 「ID1:城市:[1,2]」 –
THX,它的工作原理類似。我仍然想知道爲什麼不能使用嵌入式語法。 –
是不是有主鍵?=) –