【发布时间】:2015-07-02 23:53:27
【问题描述】:
我正在尝试使用Flow Router 实现基本路由。但是无论我请求什么集合文档的_id;我总是只获得关于我收藏中第一个文档的信息 - “请求”。
所以这是我在文件 /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>
我做错了什么? 注意:在控制台中,由于路由定义中的 console.log 命令,我确实看到了正确的 'reqId' slug。但我没有看到它所属文档的相关信息。
谢谢!
【问题讨论】:
标签: javascript meteor routing router flow