2016-11-14 12 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> 

Client

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

ответ

0

Meteor.user() возвращает запись пользователя в текущего пользователя.

Что вам нужно, это пользовательская запись пользователя, который отправил сообщение.

Похоже, у вас уже есть помощник «getUserById», который возвращает идентификатор пользователя пользователя - сделать подобную вещь, чтобы получить аватар пользователя

+0

Я скажу то же, что и выше. Спасибо за ваш ответ и объяснение рассуждений. Это очень помогает. Как я уже говорил другому комментатору, это мой первый класс, который делает какие-то кодировки. Я ошеломлен, что даже сделал это так далеко. Спасибо, что нашли время, чтобы дать направление с хорошим объяснением. –

0

Проблема заключается в том, что вы используете аватар Meteor.user() который является текущим зарегистрированным пользователем, а не пользователем, создающим сообщение.

Я вижу, что у вас уже есть помощник с именем getUserById, чтобы пользователь создал сообщение. Основываясь на том, что вы должны иметь возможность создать помощника, чтобы получить правильный аватар.

+0

Спасибо за ваш ответ, и ваш комментарий имеет смысл. Я буду следовать этой линии рассуждений. Я дизайнер, а не кодер, и обычно полагаюсь на резку и склеивание свободных фрагментов кода и пакетов и не всегда способный рассуждать об этом, а также вы здесь. –