2015-08-03 57 views
1

我是新的风帆js,在这里我是按照一个教程来创建crud使用风帆js和mongodb。Sails.js错误问题,删除任何记录时

但同时删除获得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' 
    } 


}; 

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

在此先感谢

回答

1

我认为这个错误可能是在res.redirect, 你应该把它放在外面的destroy()函数。

删除:功能(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

我固定的错误,它来了,因为我使用

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

insted的这个:

User.findOne(id).exec(function(err, user) { 
    ..    ^^^^^^ 
}