2015-09-07 2 views
1

В моем файле маршрутизации у меня есть следующее.Как получить зарегистрированный адрес электронной почты пользователей в метеор?

Router.route('/user/:createdBy', { 
     name: 'user', 
     /*onBeforeAction: function() { 
     AccountsEntry.signInRequired(this); 
     },*/ 
     fastRender: true, 
     data: function() { 
      paramId = this.params.createdBy; 
      // Still have to find a way how to get data 
      // Function below is only for signed in users 
      return Meteor.users.findOne(paramId); 
     } 
}); 

В моем шаблоне пользователя я хочу отобразить электронное письмо. У меня это как это {{emails.[0].address}} и как {{users.emails.[0].address}}, но письмо не отображается. Он отображается только в том случае, если пользователь вошел в систему. Однако у меня есть идентификатор пользователей как мой параметр. (Это для целей тестирования ребята!).

+1

Какие пользователи вы публикуете незарегистрированному пользователю? Вы можете сделать публикацию сервера, которая принимает paramId в качестве параметра и возвращает этого пользователя (в качестве курсора), а затем подписаться на него в разделе 'waitOn' вашего маршрута. –

ответ

0

Если вы хотите использовать информацию вышли из системы пользователя, вы можете попробовать это:

// in your router.js 

// callback would be called when login is successful 
Meteor.onLogin(function(){ 
    Session.set('login user', Meteor.user()); 
}) 

// in your template, or other functions 
// the Session would be update only if a user login successfully 
var userId = Session.get('login user')._id; 

Нажмите here для более подробной информации.

Желаю, чтобы это могло помочь :-)

Смежные вопросы