我正在尝试为用户个人资料页面创建一个路由,但是当我访问该路由时,它显示为一个完全空白的页面,并且在终端中没有错误。没有显示任何内容,包括静态HTML。这是代码:
routes.js
Router.route('/user/:_id', function () {
this.render('user');
}, {
name: 'user',
data: function(){
return Users.findOne({_id: this.params._id})
}
});
user.html
<template name="user">
<p>hello</p>
</template>
目前,我使用的是默认用户帐户包,并且未添加任何发布或订阅代码。
你确定Users
是现有的收藏品吗?
目前,我使用的是默认用户帐户包,并且未添加任何发布或订阅代码。
在这种情况下,启用自动发布后,您的问题可能会通过更改来解决
data: function(){
return Users.findOne({_id: this.params._id})
}
成:
data: function(){
return Meteor.users.findOne({_id: this.params._id})
}
虽然奇怪的是这不会在你的控制台中引发错误......
不确定这是否是原因,但我认为对于路由有多个选项,您应该在动作参数中包含this.render。像这样的东西:
Router.route('/user/:_id', {
name: 'user',
data: function() {
return Users.findOne({_id: this.params._id})
},
action: function () {
this.render('user');
}
});
我在终端中收到错误:“用户未定义”:http://meteorpad.com/pad/eciFidhwHmLhjWmF3/Leaderboard
在您的数据函数中,尝试替换Meteor.users.findOne({_id: this.params._id})
如果您修复我列出的HackPad,Meteor.users将无法工作,因为当前版本的HackPad不支持使用Meteor.users
的足够版本的Meteor。但是,如果您注释掉数据功能,则至少应该看到该页面。