Loopback: невозможно вызвать Notification.create(). Метод создания не настроен. PersistedModel не был правильно присоединен к DataSource

Я использую Loopback и компонент push. При вызове Notification.create() я получаю сообщение об ошибке:

Cannot call Notification.create(). The create method has not been setup. 
The PersistedModel has not been correctly attached to a DataSource!

Я просто запускаю базовый пример сервера 2.0. В коде я пытаюсь создать уведомление. В чем проблема?


person user798719    schedule 15.05.2015    source источник


Ответы (2)


У меня тоже возникла такая же проблема при попытке использовать функцию входа в модель пользователя. Исправили через час проб и ошибок.

Ответ: я расширил модель User до модели MyUser (без кода внутри этой модели, просто использовал ее как оболочку) и внутри Hotel .js (в моем случае бизнес-класс, который я использую для аутентификации пользователя перед доступом к информации об отеле) создал удаленный метод для входа в систему

код:

Hotel.auth=function(uname,pwd, cb)
    {
        Hotel.app.models.MyUser.login({username: uname, password: pwd}, function (err, token) {
            if(err)
                cb(null,err);
            else
                cb(null,token);
        });
    }

    Hotel.remoteMethod(
        'auth', 
        {
           accepts: 
          [
          {arg: 'uname', type: 'string',required: true},
          {arg: 'pwd', type: 'string',required: true}
          ],
          returns: {arg: 'Response Message', type: 'string'}
        }
    );

Это работает!

person Ashutosh Ranjan    schedule 14.01.2016

Этот довольно старый, но просто чтобы положить что-нибудь здесь. Не видя вашей настройки, я предполагаю, что используемая вами модель не подключена к какому-либо источнику данных или не написана должным образом. Соединитель по умолчанию находится в памяти и правильно реализует этот метод. Проверьте свой файл server/model-config.json и найдите запись для Notification и проверьте, что у вас есть для источника данных.

person Jordan Kasper    schedule 20.12.2015