2016-11-14 1 views
0

인스턴트 메시징 지정 작업을하고 있습니다. 지침은 다음과 같습니다. "메시징 창에 메시지 옆에 사용자의 아바타가 표시되도록 템플릿과 도우미 기능을 조정하십시오." stackoverflow에 대한 몇 가지 유사한 질문이 있습니다, 그리고 나는 해답을 구현하려고했지만 아무도 나를 위해 일한 적이 없다. 사용자 이름이 있지만 아바타는 로그인 한 사용자의 아바타 만 표시합니다.이 예에서 user2 아바타는 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()는 현재 사용자의 사용자 레코드를 반환합니다.

필요한 것은 메시지를 보낸 사용자의 사용자 레코드입니다.

이미 사용자의 사용자 ID를 반환하는 "getUserById"도우미가 마치

- 사용자의 아바타를 얻기 위해 비슷한 일을을

+0

위와 동일하게 말할 것입니다. 답장을 보내 주시고 추론을 설명해 주셔서 감사합니다. 그것은 크게 도움이됩니다. 다른 주석가에게 말하면서, 이것은 어떤 종류의 코딩을 수행하는 나의 첫번째 클래스입니다. 나는 심지어 그것을 멀리 만들었습니다. 좋은 설명이 담긴 시간을내어 주셔서 감사합니다. –

0

문제는 당신이 Meteor.user()의 아바타를 사용하고 있는지이다 현재 로그인 한 사용자가 사용자가 메시지를 작성하는 것이 아닙니다.

사용자가 메시지를 작성하게하려면 getUserById이라는 도우미가 있어야합니다. 헬퍼를 만들어 올바른 아바타를 얻을 수 있어야합니다.

+0

답장을 보내 주셔서 감사 드리며 귀하의 의견은 완벽합니다. 나는 그 추리를 따를 것이다. 저는 디자이너이고 코드 작성자가 아니며 일반적으로 코드와 패키지의 무료 비트를 잘라내어 붙여 넣기에 의존하며 여기에서했던 것처럼 항상이 물건을 추론 할 수있는 것은 아닙니다. –

관련 문제