简体   繁体   中英

Naming of Routes for nested resources in Ember.JS

The following route setup is from the Ember.JS docs ( http://emberjs.com/guides/routing/defining-your-routes/ ) and I have to deal with an equivalent problem:

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

According to the docs and my own experience this results, among others, in the following route:

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

However, since I want a post-specific comment route I would have expected

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

What exactly is my fallacy and what would I have to change to achieve my goal.

Only route 's share their name with their parent resource . If you wanted it to show up as as PostsCommentsRoute it would be more like this (note I pluralized it to match your example, despite the url not being pluralized)

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM