ノックアウト js アプリで実行されている sammy.js があります。現在、末尾のスラッシュが欠落しているルートをリダイレクトしようとしています (たとえば、/#/stop/1/100032
) 末尾のスラッシュが欠落しているすべてのページを、末尾のスラッシュのあるページにリダイレクトしたいと考えています。
事態を複雑にするために、そのようなルートがない場合に備えて、エラー ページも作成したいと考えています。
function RoutesViewModel () {
var self = this;
self.router = Sammy(function () {
this.get('/#/stop/:agency_id/:stop_id/', function () {
app.page.state('bus');
app.stop.setCurrentById(this.params['agency_id'], this.params['stop_id']);
mixpanel.track('stop page load', {
'route': '/#/stop/' + this.params['agency_id'] + '/' + this.params['stop_id'] + '/',
});
});
this.get('/(.*[^\/])', function () {
this.redirect('/',this.params['splat'],'/');
});
});
self.router.error = function (message, error) {
app.page.header("Unable to find your page");
app.page.message("The page you've requested could not be found.<br /><a href=\"/\">Click here</a> to return to the main page.");
}
self.run = function () {
self.router.run();
}
}
上記は、私がこれまでに行ったルートの選択です。残念ながら、上記の例の URL に移動すると、ページは正しいのではなく、エラーをロードします/#/stop/1/100032/
。
どんな助けでも大歓迎です。