因此,我尝试根据设置的条件将这些按钮隐藏在下面。还要检查以确认两者具有相同的ID。有人可以帮我解决这个问题吗?或任何想法在这里发生了什么。另外,我使用的是蒸汽护照进行用户登录,无需注册。
mongo shell
> db.tournaments.find().pretty()
{
"_id" : ObjectId("5dab977fcec7714424b1ad0f"),
"date" : ISODate("2019-10-19T23:08:47.521Z"),
"title" : "Post1",
"author" : "5dab7d10b9b5c73de0ed0ea2",
> db.users.find().pretty()
{
"_id" : ObjectId("5dab7d10b9b5c73de0ed0ea2"),
"date" : ISODate("2019-10-19T21:16:00.541Z"),
app.js
app.get('*', function(req, res, next){
res.locals.user = req.user || null;
next();
});
routes / tournament.js
router.get('/:id', function(req, res){
Tournament.findById(req.params.id, function(err, tournament){
User.findById(tournament.author, function(err, user){
res.render('tournament',{
tournament: tournament,
author: user.username,
});
});
});
});
tournament.pug
.card-body
strong Player Slots:
| #{tournament.size}
br
strong Bracket Format:
| #{tournament.type}
p.card-text
|!{tournament.body}
p.card-text
if user
if user.id == tournament.author
.btn-group.float-right
a.btn.btn-outline-dark.btn-sm(href='/tournament/edit/'+tournament._id) Edit
a.btn.btn-outline-dark.btn-sm.delete-tournament(href='#', data-id=tournament._id) Delete
答案 0 :(得分:0)
解决了,这就是解决方案。
router.get('/:id', function(req, res){
Tournament.findById(req.params.id, function(err, tournament){
User.findById(tournament.author, function(err, user){
res.render('tournament',{
tournament: tournament,
author: user.username,
user: req.user
});
});
});
});
if user
.btn-group.float-right
if user.id == tournament.author
a.btn.btn-outline-dark.btn-sm(href='/tournament/edit/'+tournament._id) Edit
a.btn.btn-outline-dark.btn-sm.delete-tournament(href='#', data-id=tournament._id) Delete