2013-10-09 1 views
0

J'ai un itinéraire qui capture toutes les routes manquantes et affiche une page de style 404. Je voudrais créer un itinéraire qui correspond à n'importe quelle URL commence par "/ browse /" comme "/ browse/shoes/red". Cela semble être la bonne façon de le faire:L'ensemble de l'itinéraire est prioritaire par rapport à l'itinéraire d'étoile

App.Router.map(function() { 
    this.route('browse', { path: '/browse/*fields' }); 
    this.route('missing', { path: '/*badPath' }); 
}); 

Cependant, RouteRecognizer Ember choisit toujours la route manquante sur la route de navigation. (La logique qui fait cela est dans sortSolutions de route-recognizer.js.) Est-ce un bug dans Ember? Existe-t-il une bonne façon d'utiliser les routes glob et d'avoir toujours un gestionnaire 404?

D'ailleurs, je peux créer une ressource pour parcourir au lieu de comme faire un itinéraire ceci:

App.Router.map(function() { 
    this.resource('browse', { path: '/browse' }, function() { 
    this.route('baz', {path: '/*'}); 
    }); 
    this.route('missing', { path: '*' }); 
}); 

Cela a toujours le même problème.

Répondre

1

Je pense que cela doit être un bug ...

Voici un JSBin: http://jsbin.com/ucanam/1403/edit

Ici vous pouvez le voir aller directement à la route 'disparus' comme prévu:

http://jsbin.com/ucanam/1403#/some/random/stuff

Et une tentative ratée d'aller directement à un itinéraire « Parcourir »:

http://jsbin.com/ucanam/1403#/browse/test/stuff

+0

Merci! J'ai soumis un problème à https://github.com/emberjs/ember.js/issues/3573. Les devs de braise le regardent. – jeffamcgee

Questions connexes