我是meteor的新手,我正在尝试获取当前登录用户的图片。
我尝试了很多方法,但这个方法感觉应该可行:
这是在索引的js:
Template.user_loggedout.events({
"click #login" : function(e, t){
Meteor.loginWithFacebook({
})
}
})
所以它基本上只是用facebook登录。到目前为止,身份验证是成功的。 现在在服务器端,我尝试了许多方法来创建用户时获取图片,但这个方法似乎是最干净和最简单的:
Accounts.onCreateUser(function(options, user) {
if (options.profile) {
options.profile.picture = "http://graph.facebook.com/" + user.services.facebook.id + "/picture/?type=large";
user.profile = options.profile;
}
return user;
});
我也尝试使用谷歌(完全实施谷歌登录):
user.profile.profile_picture = user.services.google.picture;
现在在我看来,我只是这样说:
<img src="currentUser.profile.picture"
事情是无论我尝试哪种方式,我都会得到这个破碎的链接图像:
我确信我是一个显而易见的步骤,但我真的无法弄清楚我的电话有什么问题。我做错了吗?
答案 0 :(得分:2)
您应该将助手包含在双花括号{{helper}}中。否则它会将其视为纯文本。
<img scr="{{currentUser.profile.picture}}" alt="{{currentUser.username}}">
答案 1 :(得分:2)
删除最终出现的if(options.profile)
Accounts.onCreateUser(function(options, user) {
options.profile.picture = "http://graph.facebook.com/" + user.services.facebook.id + "/picture/?type=large";
user.profile = options.profile;
return user;
});
然后在你的模板中
{{#if currentUser}}
<img scr="{{currentUser.profile.picture}}" alt="{{currentUser.username}}">
{{/if}}