所以我不断收到以下错误:Exception in template helper: TypeError: Cannot read property '_id' of undefined at Object.editable
。我一直试图调试它,但没有运气。
我试图将user object
传递给editUser template
。因此,当我点击编辑并获取表单时,我将能够在输入字段中看到user previous values
,但我无法将值显示在表单上。
以下是我现在的代码:
# users.js
// Helpers
Template.user.helpers({
user: () => {
let user = Meteor.user() ? Meteor.user() : 'Unable to pull user info';
return user
},
editable: function () {
let currentUserId = Meteor.user()._id;
let currentUser = Meteor.user();
// let currentUserFind = Meteor.users.findOne({_id: this._id});
return Session.equals('editUser', currentUserId);
}
});
# user.tpl.jade
// Events
Template.user.events({
'click .form-edit'(e) {
e.preventDefault();
let currentUser= Meteor.user({});
let currentUserId = Meteor.user()._id;
let currentUserFind = Meteor.users.findOne({_id: this._id});
console.log(currentUserId);
console.log(currentUserFind);
// console.log(this._id);
Session.set('editUser', currentUserId);
// Session.set('editUser', this._id);
}
});
if editable
+editUser
else
with currentUser
.card.card--user
h3.card__title= username
p.card__content= profile.email
p.card__content= profile.firstName
p.card__content= profile.lastName
p.card__content= profile.bio
button.card__btn.form-edit Edit
我试过传递id
和。{
user object
但我不能让错误消失。任何帮助将不胜感激
答案 0 :(得分:1)
当您不导入Meteor伪全局时,我已在Meteor.user()._id
看到此异常。一旦import {Meteor}
异常将消失。 Meteor.userId()
也会开展工作。