Ember路线加载错误的控制器

时间:2014-12-03 20:02:38

标签: 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.ReportController,如果我加载我需要的模型(称为comment),则加载App.CommentController

我尝试将controllerName设置为reportPictures,但它不起作用。

我需要做些什么才能让路线加载ReportPicturesController?为什么没有加载预期的控制器?

编辑:如果它有所不同,我正在使用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

2 个答案:

答案 0 :(得分:1)

当我尝试时它按预期工作..看看:

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

答案 1 :(得分: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);
    }
});