如果用户身份验证无法正常工作

时间:2020-06-20 15:26:26

标签: node.js mongodb pug

我想使用 if user 方法进行身份验证。当我执行console.log(用户)和cosole.log(kullanici)时,我得到了正确的数据。

kullanici 是指个人资料中显示的用户。

用户是指当前登录的用户(req.user)

我的app.js文件:

app.get('/kullanici/:id', function(req, res){
  Kullanici.findById(req.user
    ).exec(function(err, user){
    Kullanici.findById(req.params.id, function(err, kullanici){
      res.render("kullanici",{
      kullanici:kullanici,
      user:user,
    });
  });
 });

});

我的kullanici.pug文件:

if user
  if user._id == kullanici._id
    a.button.btn.btn-light(href='/kullanici/duzenleme/' + kullanici.id, style="margin-right:85%;")Düzenle

但是我不明白为什么它不起作用。有人可以帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:0)

请尝试使用JavaScript评估表达式的真实性,而不是使用pug中的默认if表达式。因此,请尝试使用if user._id == kullanici._id

来代替- if(user._id == kullanici._id)

答案 1 :(得分:0)

Pug标签声明及其内容之间必须有一个空格。

a(href='#')Content //incorrect
a(href='#') Content //correct

在这种情况下,您需要在右括号后(在Düzenle之前)添加一个空格,如下所示:

if user
  if user._id == kullanici._id
    a.button.btn.btn-light(href='/kullanici/duzenleme/' + kullanici.id, style="margin-right:85%;") Düzenle

答案 2 :(得分:0)

我通过将其添加到我的哈巴狗模板中解决了该问题===>

if user
  if user._id == ""+kullanici._id+""
    a.button.btn.btn-light(href='/kullanici/duzenleme/' + kullanici.id, style="margin-right:85%;")Düzenle