2014-11-11 15 views
6

Używam Meteor 1.0 i żelaza: router. Aktualnie przekierowuję użytkowników na następujące 2 definicje tras:W meteorodzie, używając żelaza: router, jak przekierować użytkownika na stronę 404, jeśli ścieżka nie jest zdefiniowana?

Router.route('/', function() { 
    this.render('home_page'); 
}); 

Router.route('/about', function() { 
    this.render('about'); 
}); 

Jak zdefiniować trasę dla niezdefiniowanych tras (błąd 404)? Na przykład, jeśli użytkownik przejdzie do adresu URL "/ blablabla", chcę, aby został przekierowany do katalogu/404, który będzie odnosił się do szablonu.

Odpowiedz

16

użyłem mieć catch-all trasy określone ("/*"), ale przestał działać z moim aktualizacji do Meteor 1.0 , więc poszedłem szukać lepszego sposobu i zauważyłem, że możesz skonfigurować notFoundTemplate. Wydaje mi się, że to mi wystarczy. Używa on bazy layoutTemplate i po prostu wypełnia yield z notFoundTemplate, co jest dokładnie tym, czego chciałem.

Router.configure({layoutTemplate: 'layout', notFoundTemplate: '404'}); 
+0

To działa dla mnie. Dzięki! – JLavoie

+0

@JoeTek, cieszę się. Czy mógłbyś proszę przyjąć odpowiedź? –

+0

'notFoundTemplate' był tam od marca, jeśli nie wcześniej. –

0

Jest plugin dataNotFound żelazo-router, który zajmuje się niezdefiniowanych trasach:

https://github.com/EventedMind/iron-router/blob/devel/Guide.md#plugins

+0

Dodałem następujący kod i nic się nie dzieje: Router.plugin ("dataNotFound", {notFoundTemplate: "notFound"}); – JLavoie

+1

Próbowałem sam tego samego i uzyskałem taki sam brak wyników, ale potem przełączyłem się na właśnie określenie 'notFoundTemplate' w Router.configure (zobacz moją odpowiedź) i to zadziałało. Zgaduję, że wtyczka została wessana do podstawowego żelazka: router i jest teraz skonfigurowana z Router.configure, ale to tylko przypuszczenie. –

+0

W Discovermeteor, na końcu rozdziału 5 'routing', sugeruje się dodanie 'Router.onBeforeAction ('dataNotFound', _ {only: 'yourTemplate'} _);' po trasach. Tłumaczenia są bezpłatne, ale nie w wersji oryginalnej, więc nie mogę podać linku – Atrahasis

Powiązane problemy