我是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'
}
};
请指导我,我不知道我在哪里做错了。
提前致谢
答案 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) {
..
}