0

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 添加了 IndexRoute

4

2 回答 2

0

在 Ember 中,集合和项目实际上使用不同的路由。这是我的做法:

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);  
    }
});

这是一个有效的 jsFiddle

于 2013-04-09T12:54:22.880 回答
0

看来我应该有 RTM :)

Sks.Router.map ->
  this.resource 'users', ->
    this.resource 'user', path: ':user_id'
于 2013-04-09T20:13:32.373 回答