从父路由继承模型

时间:2013-04-04 15:43:16

标签: ember.js

我有一个应用程序路径,需要一个应用程序ID,从这里我转到app /:app_id / settings,这打开一个Twitter Bootstrap模式,从一个单独的模板,从这里我希望能够做的事情,如更改应用程序名称和其他类似的东西,但我似乎无法访问该模型。我假设,因为我正在嵌套路线,我可以访问当前的应用程序模型,但我没有。我也无法访问父路线中的参数,因此不确定该怎么做。我在下面列出了相关的(我认为)代码。

WEM.Router.map(function(){
    this.resource( 'apps', { path: '/' }, function(){
        this.resource( 'app', { path: 'app/:app_id'}, function(){
            this.resource( 'settings', { path: 'settings' } );
            this.resource( 'error', { path: 'error/:error_id' } );
        });
    });
});

// Routes
WEM.AppsRoute = Ember.Route.extend({
    model: function(){
        return WEM.App.find();
    }
});

WEM.SettingsRoute = Ember.Route.extend({
    model: function( params ){
        console.log( WEM.App.find( params.app_id ).get( 'id' ) );
        return WEM.App.find( params.app_id );
    }
});

1 个答案:

答案 0 :(得分:3)

我认为将SettingsRoute的模型挂钩更改为

model: function(params) {
    return this.modelFor("app");
}

可能有帮助。