目前使用mongoose在仪表板上呈现管理员和用户信息,但是我似乎无法呈现用户的id
我的代码
function ensureAuthenticated(req, res, next){
if(req.isAuthenticated()){
return next();
} else {
req.flash('error_msg', 'You are not logged in');
res.redirect('/dashboard/login');
}
}
/* GET Dashboard page. */
router.get('/dashboard', ensureAuthenticated, (req, res) => {
User.find({}, function(err, users) {
res.render('dashboard/index.hbs', {
pageTitle: 'Dashboard',
total: users.length,
users: users
});
});
});
<a href="/dashboard/users/{{_id}}">My profile</a>
从repo中添加一些代码到问题中。增加ensureAuthenticated功能。从我所看到的模型和一切都是正确设置的,作为一个例子,total正确渲染,所以它得到用户。
当您调试您所拥有的req
时,某些东西(我怀疑是Passport)在那里直接包含了一个用户变量,因此您可以将其提供给您的视图。
/* GET Dashboard page. */
router.get('/dashboard', ensureAuthenticated, (req, res) => {
User.find({}, function(err, users) {
res.render('dashboard/index.hbs', {
pageTitle: 'Dashboard',
total: users.length,
users: users,
currentUser: req.user
});
});
});
在视图中你可以使用
<a href="/dashboard/users/{{currentUser._id}}">My profile</a>