Express 快速路由器删除-找不到404
我正在使用express开发一个示例应用程序。简单的积垢,一个学生有很多菜 我试图从Express 快速路由器删除-找不到404,express,ejs,Express,Ejs,我正在使用express开发一个示例应用程序。简单的积垢,一个学生有很多菜 我试图从学生中删除碟子,当点击删除路线时,我不断得到一个404未找到,即使我的代码看起来正确。这是我目前的设置 路线 var express = require('express'); var router = express.Router(); var DishesController = require('../controllers/dishesController'); router.delete('/:stu
学生
中删除碟子
,当点击删除
路线时,我不断得到一个404未找到
,即使我的代码看起来正确。这是我目前的设置
路线
var express = require('express');
var router = express.Router();
var DishesController = require('../controllers/dishesController');
router.delete('/:student_id/dishes/:dish_id', DishesController.delete);
<% student.dishes.forEach(function(dish) { %>
<p><%= dish.dish %></p>
<p><%= dish.cuisine %></p><br>
<form action="/<%= student._id %>/dishes/<%= dish._id %>?_method=DELETE" method="POST">
<input type="submit" value="Delete This Dish">
</form>
<br>
<% }) %>
控制器
var Student = require('../models/Student');
function destroy(req, res) {
var params = req.params;
var body = req.body;
Student.findById(params.student_id, function(err, student) {
student.dishes.id(params.dish_id).remove();
student.save(function(err) {
res.redirect('/');
})
});
}
module.exports = {
create: create,
delete: destroy
}
查看(ejs)
有一个长的无用的堆栈跟踪。当我在路由中放置一些控制台日志语句时,我可以看出它没有命中它,但我不知道为什么。我做了一个类似的应用程序,它工作了,所以我不知道这个有什么问题
有没有人看到我犯的错误,或者有什么我需要补充的地方没有?如果需要,我可以发布更多代码。路由器.route('/:student\u id/disks/:dish\u id').get(dishescontler.delete) 谢谢你的回答,但我不确定
router.route
是否有效。我换了它,它什么也没变
Not Found
404
NotFoundError: Not Found