Először használom a Meteor.js-t és az iron-routert, és eddig minden jól megy, kivéve az iron-routert. Ezt a kódot hívom a js fájl elején.
Router.route('/find_tutors', function () {
this.render('content_find_tutors');
});
Nagyon egyszerű, semmi érdekes nincs itt, a probléma az, hogy egyszerűen nem működik. Ezt a hibaüzenetet kapom, ha a http://foobar.bar/find_tutors URL-re navigálok
Exception in defer callback: Error: Oh no! No route found for path: "/find_tutors"
at Utils.extend.onRouteNotFound (http://localhost:3000/packages/iron_router.js?da7f2ac81c3fd9daebf49ce9a6980a54caa1dc17:1714:13)
at IronRouter.dispatch (http://localhost:3000/packages/iron_router.js?da7f2ac81c3fd9daebf49ce9a6980a54caa1dc17:1201:19)
at http://localhost:3000/packages/iron_router.js?da7f2ac81c3fd9daebf49ce9a6980a54caa1dc17:1666:12
at Tracker.Computation._compute (http://localhost:3000/packages/tracker.js?192a05cc46b867dadbe8bf90dd961f6f8fd1574f:288:36)
at new Tracker.Computation (http://localhost:3000/packages/tracker.js?192a05cc46b867dadbe8bf90dd961f6f8fd1574f:206:10)
at Object.Tracker.autorun (http://localhost:3000/packages/tracker.js?192a05cc46b867dadbe8bf90dd961f6f8fd1574f:476:11)
at Utils.extend.start (http://localhost:3000/packages/iron_router.js?da7f2ac81c3fd9daebf49ce9a6980a54caa1dc17:1663:10)
at http://localhost:3000/packages/iron_router.js?da7f2ac81c3fd9daebf49ce9a6980a54caa1dc17:1458:16
at _.extend.withValue (http://localhost:3000/packages/meteor.js?012a26290d9cb731a3b52b396e571c8159d11236:891:17)
at http://localhost:3000/packages/meteor.js?012a26290d9cb731a3b52b396e571c8159d11236:430:45
Úgy érzem, valami nyilvánvaló elromlott, de őszintén szólva ez a kód annyira egyszerű, hogy nem értem, miért nem tudom működésre bírni. Tévedek, ha azt mondom, hogy csak akkor kell megjelenítenie a sablont, ha eléri azt az útvonalat? Bár szerintem az sem mindegy, hogy mi van a route() funkcióblokkban, mert az iron router még csak nem is jut el oda.
Itt van a legkisebb kódkészlet, amelyet megadhatok a hiba újbóli létrehozásához (bár a hiba a kód méretétől függetlenül megtörténik.)
//test.js
Router.route('/find_tutors', function () {
this.render('page');
});
if (Meteor.isClient) {
}
if (Meteor.isServer) {
Meteor.startup(function () {
// code to run on server at startup
});
}
<!--- test.html --->
<head>
<title>Test</title>
</head>
<body>
</body>
<template name="page">
<h1>Welp.</h1>
</template>
Ez a példa a cvoege.meteor.com címen található
Idióta vagyok, vagy valami mély dolog történik?
meteor remove iron:router
majd ameteor add iron:router@=1.0.0-pre4
hívásával működött. Győződjön meg róla, hogy az egyenlőségjel szerepel. 18.10.2014