2016-03-09 3 views
0

Я использую метеорит для создания веб-сайта, подобного reddit. Я использовал пакет account-ui для учетных записей пользователей, но мне не удалось получить значение пользователя. Мне удалось создать учетную запись и войти в систему, но когда я отправляю комментарий, это показывает, что я анонимный пользователь. Вот код -Meteor - registerHelper, не может получить доступ к значению пользователя

Template.registerHelper('getUser', function(user_id) { 
    var user = Meteor.users.findOne({_id: user_id}); 
    if (user) { 
     return user.username; 
    } 
    else { 
     return "anon"; 
    } 
}); 

пост комментарий -

Template.comment_form.events({ 
    "submit .js-save-comment-form":function(event){ 
     if (Meteor.user()) { 
      // here is an example of how to get the comment out of the form: 
      var comment = event.target.comment.value; 
      console.log("The comment is: "+comment); 

      Comments.insert({ 
       website: Router.current().params._id, 
       comment: comment, 
       createdOn: new Date(), 
       user: Meteor.user()._id 
      }); 
      event.target.comment.value = ""; 
     } 
     else { 
      alert('You need to be logged in to submit comments!'); 
     } 

     return false; // stop the form submit from reloading the page 

    } 
}); 

Я был зарегистрирован в качестве тестового пользователя, но когда я отправил комментарий, это показывает, что он вывешен Анон, что означает Ждут сервера» т вернуть значение Пользователь

+0

Вы опубликовали и подписались? – Areca

+1

Вы уверены, что опубликовали поле «имя пользователя» и соответствующие данные пользователя? Пожалуйста, поделитесь соответствующим шаблоном и вспомогательным кодом и убедитесь, что вход - это то, что вы ожидаете от него. – MasterAM

ответ

0

Смотрите, если это делает имена пользователей появляются. Это не производственное решение, но оно должно дать вам представление о том, что происходит, если оно работает.

Meteor.publish(null, function() { 
    if (!this.userId) return null; 
    return Meteor.users.find({},{fields: {'username': 1, '_id': 1}}); 
}); 
Смежные вопросы