我做了一条编辑和更新的路线。 router.get()
可以正常工作,但是router.put()
不能正常工作。不过,我正在主要的app.js
工作。
我正在使用方法覆盖
//edit (working)
router.get('/userList/:id/edit', function(req, res){
User.findById(req.params.id, function(err, foundUser){
res.render('admin/userList/edit', {user: foundUser})
console.log(req.params.id)
// console.log(req.body.id)
});
});
//update (not working)
router.put('/userList/:id', function(req, res) {
User.findByIdAndUpdate(req.params.id, req.body.user, function(err, updatedUser) {
if(err) {
res.redirect('back');
req.flash("error", "Coś poszło nie tak!");
} else {
res.redirect('back');
req.flash("success", "User został zmodyfikowany!");
}
})
})
//update in main app.js (working)
app.put('/userList/:id', function(req, res) {
User.findById(req.params.id, function(err, user) {
console.log(user)
})
})
表格:
<form action="/userList/<%= user._id %>?_method=PUT" method="POST">
<div class="form-group">
<input type="text" class="form-control" name="user[username]" value="<%= user.username %>" >
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>