为什么Telescope中的Iron-Router无法识别传递的_id参数?

时间:2015-06-24 00:20:55

标签: javascript mongodb meteor iron-router telescope

我正在努力回应一个事件,望远镜将发布下一个/上一个。

var y = Router.current().data().postedAt;
var nex = Posts.find({postedAt:{$gt:y}}, {sort: {postedAt:1}, limit:1});
nex.forEach(function(nex){ vai = nex._id;});
Router.go('post_page', vai, {_id:vai});

问题是当我尝试将nex._id传递给路由器时。它在控制台上显示此消息:

  

错误:路径上缺少必需的参数" / posts /:_ id"。该   缺少的参数是:[" _id"]。传入的params对象是:   " erhqpuXxXgk9EA4Gg"

_id已正确传递,但无法识别。谢谢!

2 个答案:

答案 0 :(得分:0)

希望您的路线如下:

number

您的Router.go方法应为:

Router.route('/posts/:_id', function () {
  this.render('Post');
}, {
  name: 'post_page'
});

答案 1 :(得分:0)

我可以让它发挥作用。看看情况如何:

var y = Router.current().data().postedAt;
var nex = Posts.find({postedAt:{$gt:y}}, {sort: {postedAt: 1}, limit:1} );
nex.forEach(function(nex){ _id = nex._id;});
Router.go('post_page', {_id:this._id});