node.js - sails js 中的 500 内部服务器错误

标签 node.js sails.js sails-mongo

我是 sailsjs 的新手,尝试按照教程学习,插入帖子时出现 500 内部错误。

这是我的所有文件:

//DashboardController.js

newpost: function(req, res){
        var params = req.params.all();
        var userId = req.session.user_detail._id;

        //return false;
        Post.create({ title: params.heading, description: params.message, posted_by: params.userId }).done(function(error, post_created){
            if(err){

            }else{

                req.session.post_details = post_created;
                res.redirect('/dashboard');
            }
        });
    }

//Dashboard.js 模型

module.exports = {

  attributes: {
    title:{
         type:'string',
         required:true,
         columnName:'title'
    },
    description: {
         type:'text',
         columnName:'description'
    },
    posted_by: {
        type: 'integer',
        columnName: 'posted_by'
    }

  }
};

//ejs文件

  <div class="col-sm-7">
        <h3>Post Feed Now</h3>
        <br>

        <div class="media"> 
          <div class="media-body">
          <form method="POST" action="/dashboard/newpost">
            <table class="table">
              <tr><td>Heading</td><td><input type="text" class="form-control" name="heading"></td></tr>
              <tr><td>Message</td><td><textarea name="message" class="form-control"></textarea></td></tr>
              <tr><td colspan="2"><input type="submit" class="btn btn-primary" value="Post Now"/></td></tr>
          </form>
            </table>

        </div>

and error in terminal

error: Sending 500 ("Server Error") response: 
 ReferenceError: Post is not defined
    at Object.module.exports.newpost (/var/www/html/sailsTemplate/api/controllers/DashboardController.js:21:3)
    at bound (/usr/lib/node_modules/sails/node_modules/lodash/dist/lodash.js:729:21)
    at routeTargetFnWrapper (/usr/lib/node_modules/sails/lib/router/bind.js:179: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:187:7
    at alwaysAllow (/usr/lib/node_modules/sails/lib/hooks/policies/index.js:207:11)
    at routeTargetFnWrapper (/usr/lib/node_modules/sails/lib/router/bind.js:179: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) [ReferenceError: Post is not defined]

我想在 mongodb 中创建插入帖子,我们是否必须创建集合 mongo db 或者代码在插入时自动创建集合..

我不知道为什么我会收到此问题 500 内部服务器。

如果有什么需要请问我

最佳答案

如果您的模型文件名为 Dashboard.js,请将 Post.create 替换为 Dashboard.create

newpost: function(req, res){
        var params = req.params.all();
        var userId = req.session.user_detail._id;

        Dashboard.create({ title: params.heading, description: params.message, posted_by: params.userId }).done(function(error, post_created){
            if(err){

            }else{

                req.session.post_details = post_created;
                res.redirect('/dashboard');
            }
        });
    }

如果您希望 Post 作为模型的名称,则必须将模型文件重命名为 Post.js

关于node.js - sails js 中的 500 内部服务器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31853431/

相关文章:

javascript - Node.js Sequelize ManyToMany 关系产生不正确的 SQL

node.js - Mongoose - this.find() 不存在

Node.js 抛出 "btoa is not defined"错误

node.js - 初始化独立 Waterline 后无法查询集合

mysql - 从 ec2 中的 sails 到 rds 中的 MySQL 的连接出现握手不活动超时错误

javascript - 如何仅验证记录而不保存在 Node js 中?风 sails js |吃水线

node.js - 将 VueJS 前端与 Express REST 后端结合起来?

node.js - Nodejs - Nodejs 中是否存在类似于请求模块的模块?

node.js - mongoDB 和 sails 聚合不能与 Nodejs 一起使用

javascript - 在nodejs中处理异步数据库