0
我一直在努力獲取用戶配置文件以顯示特定用戶一段時間,現在我已經相當成功。我在標題中出現錯誤時遇到問題。模板助手中的異常:無法讀取未定義的屬性'名稱'
我發佈一個學校收集這樣
Meteor.publish("schoolData", function() {
return Schools.find();
});
我的訂閱看起來像這樣
Meteor.subscribe('schoolData');
我的HTML看起來像這樣
<template name="userProfile">
<title>My Profile</title>
<table>
<tr>
<td>User Name: </td>
<td>{{userName}}</td>
</tr>
<tr>
<td>First Name: </td>
<td>{{firstName}}</td>
</tr>
<tr>
<td>Last Name: </td>
<td>{{lastName}}</td>
</tr>
<tr>
<td>Registered E-mail: </td>
<td>{{email}}</td>
</tr>
<tr>
<td>Contact E-mail: </td>
<td>{{email}}</td>
</tr>
<tr>
<td>Phone Number: </td>
<td>{{phoneNumber}}</td>
</tr>
<tr>
<td>School: </td>
<td>{{schoolName}}</td>
</tr>
<tr>
<td>First year: </td>
<td>{{firstSchoolYear}}</td>
</tr>
<tr>
<td>Last year: </td>
<td>{{lastSchoolYear}}</td>
</tr>
<tr>
<td>Matriculated? </td>
<td>{{matriculated}}</td>
</tr>
<tr>
<td>House Name: </td>
<td>{{houseName}}</td>
</tr>
<tr>
<td>Country living in: </td>
<td>{{country}}</td>
</tr>
<tr>
<td>City living in: </td>
<td>{{cityOfResidence}}</td>
</tr>
<tr>
<td>Industry employed in: </td>
<td>{{emplIndustry}}</td>
</tr>
</table>
</template>
和JavaScript看起來像這樣
Template.userProfile.helpers({
email: function() {return Meteor.user().emails[0].address},
userName: function() {return Meteor.user().username},
firstName: function() {return Meteor.user().profile.firstname},
lastName: function() {return Meteor.user().profile.lastname},
phoneNumber: function() {return Meteor.user().profile.phone},
schoolName: function() {return Schools.findOne(Meteor.user().profile.schoolName).name;},
firstSchoolYear: function() {return Meteor.user().profile.firstschoolyear},
lastSchoolYear: function() {return Meteor.user().profile.lastschoolyear},
matriculated: function() {return Meteor.user().profile.matriculated},
houseName: function() {return Meteor.user().profile.housename},
country: function() {return Meteor.user().profile.country},
cityOfResidence: function() {return Meteor.user().profile.cityofresidence},
emplIndustry: function() {return Meteor.user().profile.emplindustry},
signedUp: function() {return Meteor.user().profile.createdAt},
});
我似乎得到了錯誤 在模板助手中的異常:TypeError:無法讀取未定義的屬性'名稱' 它是mese這是來自Schools集合。 有人可以幫我發現我的錯誤,請。
喜有它
_id
,謝謝你的回答, 如你所說我已經修改了代碼但我仍然未定義爲錯誤。 我從瀏覽器的控制檯運行查詢,並得到這個迴應 Schools.findOne((name:Meteor.user()。profile.schoolName.name}); undefined 您是否認爲這可能是一個權限問題? – LanceHaig 2014-11-22 17:19:02我也試過這個查詢。使用.name並返回整個對象。 Schools.findOne({_ id:Meteor.user()。profile.schoolName}); Object {_id:「HGNzCYGszPGcG2Aab」,name:「High School For Boys」} – LanceHaig 2014-11-22 17:25:49
然後這一秒應該在最後使用.name。如果你保存在profile.schoolName「HGNzCYGszPGcG2Aab」中,那麼你應該將它與ID相比較,如果你有「高中男生」,那麼你應該把它與名稱查詢 – Sindis 2014-11-22 17:44:42