Как связать поле сообщения с электронной почтой пользователя? [МЕТЕОР]

У меня есть модель сообщений, которую я опубликовал, и она работает нормально. Однако я добавил следующее поле через плагин simpleSchemas:

userEmail: {
  type: String,
  autoValue: function() {
    if (this.isInsert) {
      return Meteor.user().email;
    } else if (this.isUpsert) {
      return {$setOnInsert: Meteor.user().email};
    } else {
      this.unset();
    }
  }
}

Когда это включено, формы отправки не работают, но не вызывают никаких ошибок. Возможно, я неправильно звоню Meteor.user().email? Как связать поле userEmail с адресом электронной почты пользователя, создавшего сообщение?


person zenben1126    schedule 03.04.2015    source источник


Ответы (2)


Правильный синтаксис.

Meteor.user().emails[0].address
person Ethaan    schedule 03.04.2015

Коллекция Meteor.users по умолчанию хранит электронные письма в виде массива (для поддержки нескольких электронных писем). Что-то вроде return Meteor.user().emails[0].address должно работать.

person Curtis    schedule 03.04.2015
comment
привет @Curtis правильный синтаксис Meteor.user().emails[0].address не Meteor.user().email[0] вам не хватает emails и .address - person Ethaan; 03.04.2015