欠落しているすべてのルートをキャッチし、404 スタイルのページをレンダリングするルートがあります。「/browse/shoes/red」など、「/browse/」で始まる任意の URL に一致するルートを作成したいと考えています。これはそれを行う正しい方法のようです:
App.Router.map(function() {
this.route('browse', { path: '/browse/*fields' });
this.route('missing', { path: '/*badPath' });
});
ただし、ember の RouteRecognizer は常に、ブラウズ ルートを介して不足しているルートを選択します。(これを行うロジックは route-recognizer.js の sortSolutions にあります。) これは Ember のバグですか? glob ルートを使用し、404 ハンドラーを使用する正しい方法はありますか?
ところで、次のようにルートにする代わりに、参照用のリソースを作成できます。
App.Router.map(function() {
this.resource('browse', { path: '/browse' }, function() {
this.route('baz', {path: '/*'});
});
this.route('missing', { path: '*' });
});
これにはまだ同じ問題があります。