Express 快速路由器删除-找不到404

Express 快速路由器删除-找不到404,express,ejs,Express,Ejs,我正在使用express开发一个示例应用程序。简单的积垢,一个学生有很多菜 我试图从学生中删除碟子,当点击删除路线时,我不断得到一个404未找到,即使我的代码看起来正确。这是我目前的设置 路线 var express = require('express'); var router = express.Router(); var DishesController = require('../controllers/dishesController'); router.delete('/:stu

我正在使用express开发一个示例应用程序。简单的积垢,一个学生有很多菜

我试图从
学生
中删除
碟子
,当点击
删除
路线时,我不断得到一个
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