0

Ember は次のエラーを表示します: Uncaught Error: No route matching the 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

edit#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 に答える