如何使用express控制动态渲染的url路径?

时间:2017-10-24 14:06:25

标签: node.js express

我的问题如下:我需要注册2种用户(学生和教师),但用户控制器是唯一的(我根据用户表单在控制器上检查了一些可选值)。我可以根据请求URL(或者从路由发送变量)来控制应该呈现什么形式的选项。

以下代码:

  • newStudent和newTeacher也是我的ejs CRUD文件,所以我只是省略了它们。

路线

router.get('/newStudent', user_controller.user_create_get);
router.post('/newStudent', user_controller.user_create_post);

router.get('/newTeacher', user_controller.user_create_get);
router.post('/newTeacher', user_controller.user_create_post);

控制器

exports.user_create_get = function(req, res) {
    // here I would like to place an if to render newStudent or newTeacher 
    // according to the route path request

    res.render('newStudent');
    res.render('newTeacher');
}

欢迎任何建议。另外,我应该建立不同的控制器吗?即使登记表格相似吗?

1 个答案:

答案 0 :(得分:1)

也许你可以检查req.path,它将是/ newTeacher或/ newStudent:

exports.user_create_get = function(req, res) {
  if (req.path == '/newTeacher') {
    res.render('newTeacher');
  }
  else if (req.path == '/newStudent') {
     res.render('newStudent');
  }
  else {
     res.render('Error !');
  }
}

希望有所帮助:)