航行参考错误:文章“模型”没有定义

我尝试通过我的控制器中的Article模型访问findOne(),但没有成功。

我有这个错误

> error: Sending 500 ("Server Error") response: > ReferenceError: Article is not defined > at Object.module.exports.createArticle (c:\Users\pisix\BizBiz\BizBizBackEnd\api\controllers\ArticleController.js:16:9) > at bound (C:\Users\pisix\AppData\Roaming\npm\node_modules\sails\node_modules\lodash\dist\lodash.js:729:21) > at routeTargetFnWrapper (C:\Users\pisix\AppData\Roaming\npm\node_modules\sails\lib\router\bind.js:179:5) > at callbacks (C:\Users\pisix\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:164:37) > at param (C:\Users\pisix\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:138:11) > at param (C:\Users\pisix\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:135:11) > at pass (C:\Users\pisix\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:145:5) > at nextRoute (C:\Users\pisix\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:100:7) > at callbacks (C:\Users\pisix\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:167:11) > at C:\Users\pisix\AppData\Roaming\npm\node_modules\sails\lib\router\bind.js:187:7 > at alwaysAllow (C:\Users\pisix\AppData\Roaming\npm\node_modules\sails\lib\hooks\policies\index.js:207:11) > at routeTargetFnWrapper (C:\Users\pisix\AppData\Roaming\npm\node_modules\sails\lib\router\bind.js:179:5) > at callbacks (C:\Users\pisix\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:164:37) > at param (C:\Users\pisix\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:138:11) > at param (C:\Users\pisix\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:135:11) > at pass (C:\Users\pisix\AppData\Roaming\npm\node_modules\sails\node_modules\express\lib\router\index.js:145:5) > [ReferenceError: Article is not defined] 

我该如何解决?

在我的文章模型下面

 /** * Article.js * * @description :: TODO: You might write a short summary of how this model works and what it represents here. * @docs :: http://sailsjs.org/#!documentation/models */ module.exports = { autoPK: false, autoCreatedAt: false, autoUpdatedAt: false, tableName:'article', identity:'article', attributes: { idArticle:{ type:'integer', unique:true, required:true, columnName:'IDARTICLE', autoIncrement:true, primaryKey:true }, titre:{ type:'string', required:true, columnName:'TITRE', index:true }, details:{ type:'text', required:true, columnName:'DETAILS', size:100 }, etat:{ type:'string', columnName:'ETAT', enum:['Vendu','Réservé'], index:true }, prix:{ type:'float', columnName:'PRIX', index:true, required:true }, dateAjout:{ type:'datetime', columnName:'DATEAJOUT', index:true, required:true }, } }; 

在我的控制器ArticleController.js下面

 module.exports = { /** * `ArticleController.createArticle()` */ createOArticle: function (req, res) { var idarticle = req.body.idarticle; console.log('idarticle to edit: '+ idarticle); Article.findOne({idArticle:idarticle}).exec(function (err, article) { if (article) { console.log('article '+ idarticle + ' trouvé'); var dataarticle = req.body.article; article.titre = dataarticle.titre; article.details = dataarticle.details; article.prix = dataarticle.prix; article.etat = dataarticle.etat; article.dateAjout=new Date(); article.save(function (err, success) { if (success) { return res.send({articleupdate: true, article: article,success:true,message:req.__('message-success-creation')}); } if (err) { return res.send({success: false, message:req.__('message-erreur-update')}) } }); } if (err) { //Create Article } }); }, }; 

我正在使用sails v0.11

您不必定义模型的身份。 Sails.js会将其用作身份,并将其分配给全球我认为。

只需删除您的模型的以下行

 identity:'article', 

我试图把名字改成低位字母,例如

  company.find({}).exec(function(err, items) { 

这个对我有用。

检查您的模型文件夹,它可能在控制器文件夹内。 而且我已经面临同样的问题。 我不知道如何将Models文件夹插入Controller文件夹。 所以请检查你的控制器文件夹。 你可能有同样的问题。