我正在尝试通过单击按钮来更新文档。但是,我一直得到一个"内部错误"信息。我想要更新的文件被称为"已确认"它可以采用真/假值。
这是我的methods.js
:
Meteor.methods({
'confirmUser1': function(currUserId) {
var currentUserId = currUserId;
Meteor.users.update(currentUserId, {$set:
{
'confirmed': true
}
});
console.log('user verified!');
}
});
这是我的模板活动助手:
Template.Users.events({
'click .confirmUser': function(e, tmpl) {
e.preventDefault();
var currentUserId = this._id;
Meteor.call('confirmUser1', currentUserId, function(error) {
if (error) {
alert(error.reason);
} else {
console.log('success!');
Router.go('Admin');
}
});
}
});
我的按钮:
<p><button class="confirmUser">Confirm User</button></p>
注意: 我使用与此非常相似的代码用于不同的更新按钮/方法,它工作正常......所以我不确定是什么&# 39; s继续在这里。
答案 0 :(得分:2)
尝试使用Meteor.userId();
,事件处理程序内部的上下文与使用Template.helper
如果你做了console.log(currentUserId)
,你应该得到未定义。
所以改变这个
var currentUserId = this._id;
到此。
var currentUserId = Meteor.userId();