У меня есть две модели, User
и Project
:объекты HasMany исчезают после перезагрузки
App.Project = DS.Model.extend({
name: DS.attr('string'),
url: DS.attr('string'),
user: DS.belongsTo('user')
});
App.User = DS.Model.extend({
name: DS.attr('string'),
projects: DS.hasMany('project')
});
Я использую локальное хранилище для Ember данных для хранения пользователей и проектов. Я заселение пользователей и проектов с использованием AJAX звонки в IndexController
:
'createUser' : function(){
var name = this.get('newUser');
if(!name){
return;
}
var that = this;
Ember.$.getJSON('<apiUrl>).then(function(data){
var user = that.store.createRecord('user', data);
user.save();
that.set('newUser', '');
Ember.$.getJSON(<apiUrl>/projects').then(function(data){
var length = data.length;
for(var i = 0; i < length; i++){
data[i].id = data[i].name;
data[i].user_id = data.id;
var project = that.store.createRecord('project', data[i]);
project.save();
user.get('projects').addObject(project);
}
user.save();
});
});
},
}
Когда я иду в URL для пользователя, проекты отображаются корректно. Однако, когда я перезагружаю страницу, проекты исчезают и больше не отображаются. Мой взгляд на проекты это (внутри шаблона пользователя):
{{#each projects}}
<div class="row">
<a {{bind-attr href="url"}}>{{name}}</a>
</div>
{{else}}
<p>No projects loaded</p>
{{/each}}
Я делаю что-то неправильно, что вызывает проекты не перезагружаются?