Вопрос

Вails.js 0.10 я пытаюсь сделать следующее

// user.js
module.exports = {
  attributes: {

    uuid: {
        type: 'string',
        primaryKey: true,
        required: true
     } ,
     profile: {

        firstname: 'string',
        lastname: 'string',
        birthdate: 'date',
        required: true
     }
  }
};

Я получаю сообщение об ошибке при попытке создать пользователя, иailsJS не распознает атрибут «профиль».Я не уверен, поддерживает ли Sails вложенную структуру JSON, а если да, то я не знаю, как ее структурировать.

error: Sent 500 ("Server Error") response
error: Error: Unknown rule: firstname

Я пробовал следующее, но это тоже не удалось

// user.js
module.exports = {
  attributes: {

    uuid: {
        type: 'string',
        primaryKey: true,
        required: true
     } ,
     profile: {

        firstname: {type: 'string'},
        lastname: {type: 'string'},
        birthdate: 'date',
        required: true
     }
  }
};

Я знаю, что вailsJS 0.10 есть атрибут «JSON», но не знаю, как он подойдет к этому модулю.

Это было полезно?

Решение

Waterline не поддерживает определение вложенных схем, но вы можете использовать json введите для хранения внедренных объектов в вашей модели.Итак, вы бы сделали:

profile: {
    type: 'json',
    required: true
}

И тогда вы можете создавать экземпляры пользователей, например:

User.create({profile: {firstName: 'John', lastName: 'Doe'}})

разница в том, что firstName и lastName поля не будут проверены.Если вы хотите проверить, что схема встроенного profile объект соответствует тому, что вы хотите, вам придется реализовать beforeValidate() обратный вызов жизненного цикла в классе вашей модели:

attributes: {},
beforeValidate: function(values, cb) {
    // If a profile is being saved to the user...
    if (values.profile) {
       // Validate that the values.profile data matches your desired schema,
       // and if not call cb('profile is no good');
       // otherwise call cb();
    }
}

Другие советы

После последующей

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top