2016-02-04 3 views
1

Я использую модуль accounts-password и, как написано в документации метеоритов, я хотел вызвать Accounts.setUsername(userId,newUsername) изнутри метода. Однако, я получаю ошибку setUsername(..) is not a method.Изменение имени пользователя

enter image description here

Что мне не хватает?

EDIT: Вот список установленных пакетов

enter image description here

EDIT 2: Так, видимо, метод не дозвонились, и это работает, как ожидалось, однако, он выдает сообщение об ошибке в консоли браузера в любом случае (в то же время WebStorm отмечает метод как неизвестный)

enter image description here

+0

Поскольку функция 'Accounts.setUsername', а не 'setUsername'? –

+0

Вы пытаетесь вызвать эту функцию со стороны клиента? Это только функция на стороне сервера. –

+0

@DavidWeldon извините, если я вас смутил, я вызываю 'Accounts.setUsername' – pikausp

ответ

3

Это, вероятно, происходит потому, что ваши Meteor.methods находятся в общем (клиентском и серверном исполняемом) месте. Если это так, вы можете поместить этот конкретный метод в место на сервере (в папке с вашим сервером) или обернуть метод Accounts.setUsername в if(Meteor.isServer) { ... }

+0

Это очень хороший момент. Методы могут быть в сервере только для местоположения? – pikausp

+0

Да, поместите их в папку/server в корне вашего проекта. –

+0

А я думал, что я где-то читал в документах, методы должны быть доступны как клиенту, так и серверу – pikausp

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