Я пытаюсь реализовать базовый маршрут, используя Flow Router. Но независимо от того, что я запрашиваю у сборника; Я всегда получаю информацию о первом документе в своей коллекции - «Запросы».Невозможно прочитать слизень с URL-адреса на Flow Router (Meteor)
Так вот мое определение маршрута в файле /lib/routes.js:
FlowRouter.route('/requests/:reqId', {
subscriptions: function (params, queryParams) {
this.register('theRequest', Meteor.subscribe('singleRequest', params.reqId));
},
action: function (params, queryParams) {
FlowLayout.render('layout', { aside: 'aside', main: 'singleRequest' });
console.log("Yeah! We are on the post:", params.reqId);
},
name: 'aRequest'
});
Вот мой помощник:
Template.singleRequest.helpers({
getRequest: function() {
return Requests.findOne();
}
});
Вот мой сервер публикует:
Meteor.publish('singleRequest', function (reqId) {
return Requests.find({ _id: reqId});
});
И вот шаблон:
<template name="singleRequest">
{{#if isSubReady 'theRequest'}}
{{#with getRequest}}
<h2>{{_id}}</h2>
<p>{{reqFrom}}</p>
<p>{{reqBy}}</p>
{{/with}}
{{else}}
loading...
{{/if}}
</template>
Что я делаю неправильно? Примечание: В консоли я вижу правку 'reqId' slug из-за команды console.log в определении маршрута. Но я не вижу соответствующей информации для документа, к которому он принадлежит.
Спасибо!
Спасибо за ответ! Тем не менее, у меня уже снят пакет autopublish. Также я все еще пытался использовать ваш код, и он не работал:/ – Emo
Хммм. Как вы определяете свою коллекцию 'Requests'? И сколько документов в вашей коллекции? Если вы пишете 'FlowRouter.getParam (« reqId »)' на консоли во время вашего помощника, что вы видите - идентификатор, который вы ищете (на вашем маршруте), идентификатор первого документа или ничего/нуль? –
Привет снова. На самом деле я нашел решение. Но до этого - ответ на ваш вопрос: да, я получил слизню. Спасибо Дункан! – Emo