Ember.js Can';找不到嵌套的url:没有路由匹配的url
Ember向我显示以下错误:未捕获错误:没有与URL“/users”匹配的路由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:
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'