2015-08-06 4 views
1

Я новичок в sailsjs и стараюсь учиться, следуя руководству, я получаю внутреннюю ошибку 500 при вставке сообщения.500 ошибка внутреннего сервера в sailjs

Вот мои все файлы:

//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 внутренних серверах.

Если что-то требуется, пожалуйста, спросил меня

+0

Спасибо за вопрос, и я надеюсь, что ответ поможет. Если вы хотите обсудить любые проблемы Sails.js в реальном времени с другими пользователями, ознакомьтесь с нашей страницей Gitter. https://gitter.im/balderdashy/sails –

ответ

2

Если название модели файла 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.js

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