我正在使用meteor构建一个类似于reddit的网站。我将account-ui
包用于用户帐户,但我无法获取用户值。我能够创建一个帐户并登录,但是当我发表评论时,它表明我是一个匿名用户。这是代码 -
Template.registerHelper('getUser', function(user_id) {
var user = Meteor.users.findOne({_id: user_id});
if (user) {
return user.username;
}
else {
return "anon";
}
});
发表评论 -
Template.comment_form.events({
"submit .js-save-comment-form":function(event){
if (Meteor.user()) {
// here is an example of how to get the comment out of the form:
var comment = event.target.comment.value;
console.log("The comment is: "+comment);
Comments.insert({
website: Router.current().params._id,
comment: comment,
createdOn: new Date(),
user: Meteor.user()._id
});
event.target.comment.value = "";
}
else {
alert('You need to be logged in to submit comments!');
}
return false; // stop the form submit from reloading the page
}
});
我是以用户测试身份登录的,但是当我发布评论时,它显示它是由anon发布的,这意味着服务器没有返回用户值
答案 0 :(得分:0)
看看这是否会显示用户名。这不是生产解决方案,但如果它有效,它应该让你知道发生了什么。
Meteor.publish(null, function () {
if (!this.userId) return null;
return Meteor.users.find({},{fields: {'username': 1, '_id': 1}});
});