2016-11-14 148 views
0

我正在進行即時消息分配。說明如下:「調整模板和幫助功能,使消息傳遞窗口在用戶消息旁邊顯示用戶的頭像。」在stackoverflow上有幾個類似的問題,我試圖實現答案,但沒有爲我工作。我有用戶名,但頭像僅顯示登錄用戶的頭像。在此示例中,用戶2頭像應顯示user2消息。 display avatar如何使用用戶名和聊天消息顯示用戶頭像?

模板

<template name="chat_message"> 
<img src="/{{avatar}}" class="chat_img" /> 
    <span class="text">On {{timeStamp}}</span> <span class="text">{{getUserById sentBy}}</span> said: {{text}} 
    <br> 
    <br> 
</template> 

客戶

Template.chat_message.helpers({ 
    avatar:function(){ 
    return Meteor.user().profile.avatar; 
    }, 

回答

0

Meteor.user()返回當前用戶的用戶記錄。

你需要的是發送消息的用戶的用戶記錄。

看起來你已經有一個「getUserById」助手返回用戶的用戶ID - 做類似的事情來獲得用戶的虛擬形象

+0

我會像上面那樣說。感謝您的回覆並解釋推理。它有很大的幫助。正如我告訴其他評論者,這是我做任何類型編碼的第一堂課。我驚呆了,我甚至做到了這一點。感謝您花時間給出一個很好的解釋。 –

0

的問題是,你正在使用的Meteor.user()的化身,其是當前登錄的用戶而不是創建消息的用戶。

我看到你已經有一個名爲getUserById的助手來讓用戶創建消息。基於此,你應該能夠創建一個幫手來獲得正確的頭像。

+0

感謝您的回覆,您的評論非常有意義。我會遵循這種推理。我是一個設計師,而不是編碼員,通常依靠剪切和粘貼免費的代碼和包,而不是像以前那樣總是能夠推理這些東西。 –