3

在 ember.js pre 4 中,我试图实现一个响应以下路由(以及其他路由)的路由:

/contact/[id]
/contact/edit
/contact/new
/contact/list
/contact/list/my
/contact/list/team
/contact/list/groups

我可以管理的第一条路线(直到列表):列表的变体(我的/团队/组)是我苦苦挣扎的地方。我只是得到一个:“没有路由在调用它时出现 URL '/contact/list/my' 错误。

关于如何实现这种嵌套,我尝试了多种变体。这是我目前的尝试:

    App.Router.map(function()
    {
        this.route("index");

        this.resource("contact", function(){
            this.route('new');
            this.route('show', { path: "/:contact_id" });
            this.route('edit', { path: "edit/:contact_id" });
        });

        this.resource("contact.list", function(){
            this.route("index");
            this.route("my");
        });


    });

查看 App.Router.router.recognizer.names:我看到以下输出:

contact.edit: Object
contact.index: Object
contact.list.index: Object
contact.list.my: Object
contact.new: Object
contact.show: Object
index: Object
__proto__: Object

有任何想法吗?

4

1 回答 1

2

这似乎对我有用:

    App.Router.map(function()
    {
        this.route("index");

        this.resource("contact", function(){
            this.route('new');
            this.route('show', { path: "/:contact_id" });
            this.route('edit', { path: "edit/:contact_id" });
            this.resource("contact.list", { path: "list/" },function(){
                this.route("index");
                this.route("my");
            });
        });
    });
于 2013-02-05T17:08:12.993 回答