0
我正試圖在官方網站上的教程之後構建我的第一個Meteor應用。 我使用accounts-ui
和accounts-facebook
包。使用流星在MongoDB中存儲Facebook頭像
當新用戶登錄時,我想將他的頭像存儲在數據庫中。
我迄今所做:
// Insert a task into the collection
Tasks.insert({
text: text,
createdAt: new Date(), // current time
owner: Meteor.userId(), // _id of logged in user
username: Meteor.user().username || Meteor.user().profile.name , // username of logged in user
avatar: Meteor.user().profile.picture
});
而且在HTML:
<template name="task">
<li class="{{#if checked}}checked{{/if}}">
<button class="delete">×</button>
<img class="avatar" src="{{avatar}}">
<input type="checkbox" checked="{{checked}}" class="toggle-checked" />
<span class="text"><strong>{{username}}</strong></span>
<span class="text">{{text}}</span>
</li>
</template>
如果與Facebook一切用戶登錄優良,但如果他試圖用自定義登錄用戶名我收到錯誤:
Meteor.user(...).profile is undefined
我想要什麼來實現的:
avatar: Meteor.user().profile.picture // if the user has a Facebook account
OR
avatar: "img/default" // if the user uses custom username
我已經嘗試過:
avatar: Meteor.user().profile.picture || avatar: "img/default"
但它不工作。
有沒有辦法做到這一點?
感謝您的解決方案。爲了記錄我找到了另一個解決方案,但它不是那麼優雅,所以我接受你的。 '嘗試defaultPic = Meteor.user()。profile.picture; } catch(err){ defaultPic =「https://cdn4.iconfinder.com/data/icons/ionicons/512/icon-person-128.png」; }'並插入'avatar:defaultPic' – Kostenko