2017-01-22 2 views
1

Следующий моя модель парусов, каждый раз, когда я пытаюсь сохранить() Я получаю следующее сообщение об ошибкеsailsjs модельное свойство типа объекта, возможно?

[Error: Unknown rule: address] 

Использования иметь аналогичные модели с мангустом, без каких-либо проблем, может кто-нибудь увидеть какую-либо ошибку в моей модели?

Спасибо!

/** 
* Users.js 
* 
* @description :: TODO: You might write a short summary of how this model works and what it represents here. 
* @docs  :: http://sailsjs.org/documentation/concepts/models-and-orm/models 
*/ 

module.exports = { 

    connection: 'MongoServer', 

    attributes: { 
     AcctSessionId: {type: 'string', required: false, default: ''}, 
     UserName: {type: 'string', required: true, unique: true}, 
     UserPassword: {type: 'string', required: true}, 
     AcctStartDelay: {type: 'string', required: false, default: ''}, 
     AcctStopDelay:{type: 'string', required: false, default: ''}, 
     AcctPlan: {type: 'string', required: false, default: ''}, 
     AcctResellerID: {type: 'string', required: false, default: ''}, 
     AcctPrice: {type: 'integer', required: false, default: ''}, 
     AcctCurrency: {type: 'string', required: false, default: 'LBP'}, 
     AcctEnabled: {type: 'boolean', required: false, default: true}, 
     AcctExpiry: {type: 'boolean', required: true}, 

     meta: { 
     address: {type: 'string', required: false, default: ''}, 
     city: {type: 'string', required: false, default: ''}, 
     mobile: {type: 'integer', required: true, default: ''}, 
     email: {type: 'string', required: false, default: ''}, 
     name: {type: 'string', required: true, default: ''} 
     } 

    } 
}; 

ответ

1

Вы не можете вложить такие данные, используя Sails/Waterline ORM. Проблема заключается в бит meta : {}. Итак, что касается парусов, вы определили атрибут meta и пытаетесь применить правило (например, type : 'string') под названием address, city, mobile, email и т. Д., И это недопустимые правила.

Я предлагаю вам либо создать новую модель под названием address, либо userMeta или что-то подобное, и поставить там address, city, mobile, email и т. Д. Затем связать их, или, просто избавиться от meta : {} оболочки в целом и иметь его как таковой ....

/** 
* Users.js 
* 
* @description :: TODO: You might write a short summary of how this model works and what it represents here. 
* @docs  :: http://sailsjs.org/documentation/concepts/models-and-orm/models 
*/ 

module.exports = { 

    connection: 'MongoServer', 

    attributes: { 
     AcctSessionId: { type: 'string', required: false, default: '' }, 
     UserName: { type: 'string', required: true, unique: true }, 
     UserPassword: { type: 'string', required: true }, 
     AcctStartDelay: { type: 'string', required: false, default: '' }, 
     AcctStopDelay: { type: 'string', required: false, default: '' }, 
     AcctPlan: { type: 'string', required: false, default: '' }, 
     AcctResellerID: { type: 'string', required: false, default: '' }, 
     AcctPrice: { type: 'integer', required: false, default: '' }, 
     AcctCurrency: { type: 'string', required: false, default: 'LBP' }, 
     AcctEnabled: { type: 'boolean', required: false, default: true }, 
     AcctExpiry: { type: 'boolean', required: true }, 

     address: { type: 'string', required: false, default: '' }, 
     city: { type: 'string', required: false, default: '' }, 
     mobile: { type: 'integer', required: true, default: '' }, 
     email: { type: 'string', required: false, default: '' }, 
     name: { type: 'string', required: true, default: '' } 
    } 
}; 

См sails attributes за то, что вы можете или не можете поместить в описании модели

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