Ember.js 余烬路径加载错误控制器
这是我路由器的一部分Ember.js 余烬路径加载错误控制器,ember.js,routes,ember-controllers,Ember.js,Routes,Ember Controllers,这是我路由器的一部分 App.Router.map(function () { this.resource('report', {path: '/noticia/:report_id'}, function() { this.route('pictures'); }); }); 我已经定义了一个App.ReportPicturesController,但是我的路线App.ReportPicturesRoute坚持要加载不同的控制器 如果我没有指定模型挂钩,它将加载App.Rep
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
,我必须做什么?为什么没有加载预期的控制器
编辑:如果有什么不同,我使用的是ember
1.8.1、ember数据
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:完整的源代码位于当我尝试时,它按预期工作。。看看:
您缺少与此类似的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);
}
});
现在我通过在
setupController
和renderTemplate
上加载this.controllerFor('reportPictures')
来解决这个问题,但是我想知道为什么它没有加载我期望的控制器。当你点击图片时它不起作用,当我看到控制台时,它会在处理路径:report.pictures时显示错误。我认为这是浏览器:我在Firefox(v33和v35)上开发时遇到错误,但当我在Chrome 39上测试时,它会显示警告:/I无法再现正在发生的事情,当我有更多的时间时,我会更新jsbin,使它更像我的代码。感谢您的回复。ReportRoute
与您编写的余烬数据版本一样。