Я использую EmberJS 1.0.0 с бета-версией Ember Data 1.0.0 и последней версией адаптера LocalStorage. Когда я пытаюсь загрузить запись с hasMany отношения из магазина, я получаю следующую ошибку:
ember-1.0.0.js(строка 394)
Утверждение не выполнено: вы просмотрели отношения "позиции" на 'App.List: ember236: 1', но некоторые из связанных записей не были загружен. Либо убедитесь, что все они загружены вместе с родительским запись или указать, что отношение равно async (DS.attr({async: true}))
и ember-data.js(строка 2530)
TypeError: resolver undefined}), затем (resolver.resolve, resolver.reject);
Быстрое демонстрационное приложение: http://jsbin.com/oKuPev/49 (смотрите консоль)
<script type="text/x-handlebars">
List: {{name}}
<div>
{{#each items}}
{{id}} - {{name}}<br/>
{{/each}}
</div>
</script>
<script type="text/javascript">
window.App = Ember.Application.create({});
App.ApplicationAdapter = DS.LSAdapter.extend({});
var FIXTURES = {
'App.List': {
records: {
'1': { id: '1', name: 'The List', items: ['1','2'] }
}
},
'App.Item': {
records: {
'1': { id: '1', name: 'item 1', list: '1' },
'2': { id: '2', name: 'item 2', list: '1' }
}
}
}
// Store fixtures in localStorage
localStorage.setItem('DS.LSAdapter', JSON.stringify(FIXTURES));
// Models
App.List = DS.Model.extend({
name: DS.attr('string'),
items: DS.hasMany('item')
});
App.Item = DS.Model.extend({
name: DS.attr('string') ,
list: DS.belongsTo('list')
});
// Route
App.ApplicationRoute = Ember.Route.extend({
model: function() {
// Fails!!!
return this.store.find('list', 1);
}
});
</script>
Я не уверен, что проблема связана с ember.js, ember-data.js или адаптером LocalStorage.