に渡すときに未定義エラーのプロパティを読み取ることができないので、次のエラーが発生し続ける: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
を渡して試してみましたが、私はエラーが消えて取得することはできません。任意の助けが大いに評価されるでしょう
おかげで 'Meteor.userId()'は実際に私のエラーの問題を解決しました。私はまだ私の編集フィールド内のユーザーデータを見ることができません。それをどうやって解決できるのか知っていますか?ありがとう – intercoder
私はあなたのコードの最後の部分を理解していないが、現在のユーザーとのセッションヘルパーを持っているので、あなたのテンプレートでそれを使用することができます。たとえば、入力フィールドをユーザー名で事前入力する場合は、。ところで、流星はすでにヘルパーcurrentUserを提供しています、あなたはそれを定義する必要はありません。 – Kostas
Hey manは 'value = '{{currentUser.profile.name}}'の入力フィールドの中で問題を解決しました。私は 'value = '{{user.profile.name}}' 'として渡そうとしていましたが、何も見えませんでした。なぜそれが分かっていますか? PS:コードの最後の部分はちょうどヒスイの文法で、スペースバーやブレーズの{{username}}と同じです – intercoder