Ember.js Can';找不到嵌套的url:没有路由匹配的url

Ember.js Can';找不到嵌套的url:没有路由匹配的url,ember.js,Ember.js,Ember向我显示以下错误:未捕获错误:没有与URL“/users”匹配的路由 Sks.IndexRoute = Ember.Route.extend redirect: -> this.transitionTo 'users' Sks.Router.map -> this.resource 'users', path: 'users/:user_id' Sks.UsersRoute = Ember.Route.extend setupController:

Ember向我显示以下错误:未捕获错误:没有与URL“/users”匹配的路由

Sks.IndexRoute = Ember.Route.extend
  redirect: ->
    this.transitionTo 'users'

Sks.Router.map ->
  this.resource 'users', path: 'users/:user_id'

Sks.UsersRoute = Ember.Route.extend
  setupController: (controller, model) ->
    this.controllerFor('users').set 'content', Sks.User.find()
    this.controllerFor('currentUser').set 'content', Sks.CurrentUser.find 1
    this.controllerFor('top').set 'content', Sks.Top.find()
    this.controllerFor('hamsters').set 'content', Sks.Hamster.find()
当我删除动态段时,一切正常

版本:v1.0.0-rc.1-78-gd4e6a5c

编辑#1
在Ember中添加了IndexRoute,集合和项目实际上使用单独的路由。我是这样做的:

App.Router.map(function () {
    this.resource('contacts', { path: '/contacts' });
    this.resource('contact', { path: '/contact/:contact_id' });
});

App.IndexRoute = Ember.Route.extend({
    redirect: function () {
        this.replaceWith('contacts');
    }
});

App.ContactsRoute = Ember.Route.extend({
    model: function (params) {
        return App.Contact.find();  
    }
});

App.ContactRoute = Ember.Route.extend({
    model: function (params) {
        return App.Contact.find(params.contact_id);  
    }
});

这里有一个问题。

看来我应该有RTM:)


这个错误是什么时候发生的?嗯,
this.resource'users',path:'users/:user\u id'
只为像“/users/:something”这样的URL设置路由,不是吗?所以你必须定义类似于
this.resource'users2',path'users'
的东西来解决这个问题,我想。@TeddyZeenny当我启动一个应用程序时;我添加了IndexRoute,如果它有帮助的话。正如@FinnMacCool所说的,如果不传递
用户
记录,就不能转换到
用户
。通过使用动态段定义它,如果没有传递给它的记录,路由就不能存在。实际上,
/:user_id
是URL的一部分,
UsersRoute
是为其定义的,
/users
是一个单独的URL。
Sks.Router.map ->
  this.resource 'users', ->
    this.resource 'user', path: ':user_id'