У меня есть маршрутизатор, который загружает «Место».Не удается загрузить связанные записи с маршрутизатора (ember 1.0.0 и ember-data 1.0.0-beta.1)
App.PlaceRoute = Ember.Route.extend({
model: function(params) {
return this.store.find('place', params.place_id);
},
setupController: function(controller, model) {
this._super(controller, model);
//The promise way ?
var placeId = model.get('id');
var myRecords = this.store.find('record', {place:placeId}).then(function(recs){
console.log("DOES IT HAPPEN ?"); //Never logged
this.controllerFor('records').set('content', recs);
});
//Or is the good way below ?
//this.controllerFor('records').set('content', myRecords);
//The only that works (which is not I want but displays as I would like):
//this.controllerFor('records').set('content', App.Record.FIXTURES);
this.controllerFor('places').set('content', this.store.find('place'));
},
renderTemplate: function(){
this.render('place', {
controller: 'place'
});
this.render('display-graph-list', {
into: 'place',
outlet: 'graphs',
controller: 'records'
});
}
});
Это место связано с «Записями».
App.Place = DS.Model.extend({
name: attr('string')
, desc: attr('string')
, records: hasMany('record')
, site: belongsTo("site")
});
App.Record = DS.Model.extend({
name: attr('string'),
type: attr('string'),
data: attr('string'),
belongsTo: attr('place')
});
Как указано в Ember-данных 1.0.0 Переход Руководство, он использует обещания, чтобы получить данные, но здесь ничего не происходит.
Вот JSbin, чтобы увидеть, что я имею в виду: http://jsbin.com/iMEdOCe/6/
Когда я перейти к месту, я должен иметь по крайней мере одна запись отображается.
Я не могу понять, как загрузить и отобразить записи. Что мне не хватает?
Есть ли лучший способ отобразить массив подпунктов модели?
Я думаю, что комментируя принадлежит к работам, потому что вы имеют это сопоставление: 'принадлежитTT: attr ('place')', и вы хотите: 'place: attribTo ('place')'. –
Спасибо за лидерство. Я смущен, потому что ваш совет работает с моим jsbin, но не на моей локальной машине. Я продолжаю отладку – lauhub
ОК, я, наконец, нашел, и это было сложно: после копирования с jsbin на мой локальный сервер у меня все еще было такое же поведение (ничего не отображается ниже описания комнаты). Но затем, я удаляю часть после # из URL, нажимаю return. А потом жестко сбросил мою страницу и ... чудо это сработало ... пока я не переместился несколько раз, а затем исчез. Очевидно, это ошибка от ember. Это происходит каждый раз, когда я обнуляю URL. – lauhub