删除任何记录时出现Sails.js错误

时间:2015-08-03 12:40:22

标签: javascript angularjs node.js mongodb sails.js

我是sails js的新手,在这里,我遵循一个教程,使用sails js和mongodb创建crud。

但是删除任何记录时会出现500内部服务器错误 控制台错误

"NetworkError: 500 Internal Server Error - http://localhost:1337/user/delete/55bf315ee3437a512628916b"

这是我的控制器文件删除功能:

 delete: function(req, res) {  

    var id=req.param("id",null);

      User.findOne(id).done(function(err, user) {

    // we now have a model with instance methods attached

    // destroy the record
    user.destroy(function(err) {

      res.redirect( 'user/index/');

      // record has been removed
    });

  });
  }

这是我的观点

<a href="/user/create">+Create</a>
<ol>
<% users.forEach( function( model ){ %>
  <li><%= model.name %>(<a href="/user/delete/<%= model.id %>">delete</a>||<a href="/user/update/<%= model.id %>">Update</a>||<a href="/user/view/<%=model.id %>">view</a>)</li>
<% }); %>
</ol>

//这是我的路线文件

module.exports.routes = {

  '/': {
    view: 'homepage'
  },
  'post/User':{
    view: 'user/create'
  }


};

请指导我,我不知道我在哪里做错了。

提前致谢

2 个答案:

答案 0 :(得分:1)

我认为错误可能出在res.redirect上, 你应该把它放在destroy()函数之外。

删除:function(req,res){

var id=req.param("id",null);

  User.findOne(id).done(function(err, user) {

// we now have a model with instance methods attached

// destroy the record
user.destroy(function(err) {

  if (err) return

});
res.redirect( 'user/index/');

});   }

答案 1 :(得分:1)

我修正了错误,因为我正在使用

>>> class Person():
...     dob = '04-Aug-1991'
...
>>> getattr(Person, 'dob', '12-Dec-1989')
'04-Aug-1991'
>>> getattr(Person, 'name', 'User')
'User'

注意到这一点:

    User.findOne(id).done(function(err, user) {
      ..
    }
相关问题