2014-12-03 5 views
0

Это часть моего маршрутизатораEmber маршрут загрузка неправильного контроллер

App.Router.map(function() { 
    this.resource('report', {path: '/noticia/:report_id'}, function() { 
    this.route('pictures'); 
    }); 
}); 

Я определил App.ReportPicturesController но мой маршрут App.ReportPicturesRoute настаивает на загрузку другого контроллера.

Если я не указываю крючок модели, он загружает App.ReportController, и если я загружаю модель, то мне нужно (то есть comment) в нагрузках App.CommentController.

Я попытался установить controllerName на reportPictures, но это не сработало.

Что мне нужно сделать, чтобы направить маршрут ReportPicturesController? Почему не загружен ожидаемый контроллер?

EDIT: Если это делает никакой разницы, я использую ember 1.8.1, ember-data 1.0.0-beta.12, и это то, что маршрут выглядит,

App.ReportPicturesRoute = Ember.Route.extend({ 
    model: function(params) { 
    var report = this.modelFor('report'); 
    return this.store.createRecord('comment', { 
     inReplyToStatus: report 
    }); 
    } 
}); 

edit2: полный исходный код находится в https://github.com/camolin3/tweetsaster

+0

Прямо сейчас я обойти это путем загрузки 'this.controllerFor ('reportPictures')' 'на setupController' и' renderTemplate', но я «Мне нравится знать, почему он не загружает мой ожидаемый контроллер. – camolin3

ответ

1

Он работает, как ожидается, когда я пытаюсь .. имеют вид:

http://emberjs.jsbin.com/rayoje/2/

+0

Он не работает, когда вы нажимаете «Картинки», ничего не происходит, и когда я вижу консоль, он показывает «Ошибка при обработке маршрута: report.pictures» – camolin3

+0

Я думаю, что это браузер: я использую для разработки на Firefox (v33 и v35), и я получаю сообщение об ошибке, но когда я тестирую его на Chrome 39, он показывает предупреждение:/ – camolin3

+0

Я не могу воспроизвести то, что происходит, я обновлю jsbin, чтобы сделать его более похожим на мой код, когда у меня есть больше времени. Спасибо за ответ. – camolin3

0

У вас не хватает реализации модели крюк ReportRoute подобное этому

App.ReportRoute = Ember.Route.extend({ 
    model: function(params) { 
     return {id:params.report_id}; 
     //or with ember-data return this.store.find('report', params.report_id); 
    } 
}); 
+0

'ReportRoute' точно так же, как и версия с ember-данными, которую вы написали. – camolin3

Смежные вопросы