【发布时间】:2014-03-30 01:27:16
【问题描述】:
我试图在路由中使用参数...尝试了 express 网站上的 4.x 文档但没有用..我仍然得到 404...似乎它没有达到我的功能..
创建和列出所有项目的其他路线都很好..
var db = require('../db');
var express = require('express');
var mongoose = require( 'mongoose' );
var Users = mongoose.model( 'Users' );
var app = express.Router();
//PARAM
app.param('name', function(req, res, next, name) {
Users.find({name:name}, function(err, docs) {
if (err) {
return next(err);
}
else if (!name) {
return next(new Error('failed to load user'));
}
req.user = docs[0];
next();
});
});
//SHOW
app.get('/users/:name', function(req,res){
res.render('users/profile', {user: req.user});
});
尝试了一个简单的版本...相同的 404...(顺便说一句,名称存在..它显示在列表项上)
//SHOW
app.get('/users/:name', function(req, res, name){
var name = req.param('name');
Users.find({name: name}, function(err, docs) {
req.user = docs[0];
next();
});
res.render('users/profile', {user: req.user});
});
【问题讨论】: