在Ember.JS中为嵌套资源命名路由

时间:2014-06-02 13:33:29

标签: javascript ember.js routes

以下路线设置来自Ember.JS文档(http://emberjs.com/guides/routing/defining-your-routes/),我必须处理同等问题:

App.Router.map(function() {
    this.resource('post', { path: '/post/:post_id' }, function() {
        this.route('edit');
        this.resource('comments', function() {
            this.route('new');
        });
    });
});

根据文档和我自己的经验,这会导致以下路线:

/post/:post_id/comments -> App.CommentsIndexRoute

但是,因为我想要一个特定于帖子后的评论路线,我希望

/post/:post_id/comments -> App.PostsCommentsRoute

我的谬误究竟是什么?为实现目标,我需要改变什么?

1 个答案:

答案 0 :(得分:1)

只有route与他们的父resource分享他们的名字。如果你希望它显示为PostsCommentsRoute,那就更像是这样(注意我将它复数以匹配你的例子,尽管网址没有被复数化)

App.Router.map(function() {
    this.resource('posts', { path: '/post/:post_id' }, function() {
        this.route('comments');
    });
});