2014-09-02 3 views
0

Я создал модель Sails.js с помощью команды "sails generate model". Модель формируется следующим образом:CRUD in Sails.js модель

module.exports = { 
    connection: 'someMysqlServer', 
    attributes: { 
    amount : { type: 'float' }, 
    country : { type: 'string' }, 
    month : { type: 'string' } 
    } 
}; 

Я пытаюсь использовать .create() функции экземпляра этой модели, внутри контроллера, как следует, но я получаю сообщение об ошибке:

var myModel = require ('../models/Info') ; 
module.exports = { 
getInfo: function (req, res) { 
     console.log("inside getInfo controller"); 
     myModel.create({amount:3.5 , country:'spain' , month: 'january' }) ; 
    } , 
} 

получаю следующее сообщение об ошибке при использовании .create() функции:

error: Sending 500 ("Server Error") response: 
TypeError: Object #<Object> has no method 'create' 
    at module.exports.getInfo (/vagrant_data/inputinterface/b2bInputInterface/api/controllers/InputPageController.js:38:26) 
    at routeTargetFnWrapper (/usr/lib/node_modules/sails/lib/router/bind.js:178:5) 
    at callbacks (/usr/lib/node_modules/sails/node_modules/express/lib/router/index.js:164:37) 
    at param (/usr/lib/node_modules/sails/node_modules/express/lib/router/index.js:138:11) 
    at param (/usr/lib/node_modules/sails/node_modules/express/lib/router/index.js:135:11) 
    at pass (/usr/lib/node_modules/sails/node_modules/express/lib/router/index.js:145:5) 
    at nextRoute (/usr/lib/node_modules/sails/node_modules/express/lib/router/index.js:100:7) 
    at callbacks (/usr/lib/node_modules/sails/node_modules/express/lib/router/index.js:167:11) 
    at /usr/lib/node_modules/sails/lib/router/bind.js:186:7 
    at alwaysAllow (/usr/lib/node_modules/sails/lib/hooks/policies/index.js:209:11) [TypeError: Object #<Object> has no method 'create'] 

Согласно Фоллю http://sailsjs.org/#/documentation/reference/waterline/models/create.html Этот метод должен быть доступен автоматически?

ответ

1

Модели глобализированы для вас фирмой Sails; вам не нужно пытаться делать это самостоятельно, и это не будет работать по назначению.

Если файл модель живет в API/модели/Info.js, то контроллер будет выглядеть примерно так:

module.exports = { 
    getInfo: function (req, res) { 
    Info.create({amount:3.5 , country:'spain' , month: 'january' }); 
    } 
} 

Вместо того, чтобы следовать ватерлинии документов при создании приложения Sails, вам У меня будет больше удачи после Sails docs for models.

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