2014-09-02 48 views
0

我已经使用命令“sails generate model”创建了一个Sails.js模型。生成的模型如下:在Sails.js模型中的CRUD

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'] 

按照FOLL由于http://sailsjs.org/#/documentation/reference/waterline/models/create.html 这个方法应该可以自动访问吗?

回答

1

Sails将为您全球化模型;没有必要尝试自己尝试require(),也不需要按预期工作。

如果你的模型文件住在API /模型/ Info.js,那么你的控制器看起来是这样的:

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

而不是试图创建一个应用程序帆影时应遵循水线文档,你在Sails docs for models之后会有更多的运气。