首页 > 解决方案 > 将变量传递给views子文件夹中的ejs模板文件

问题描述

我正在开发一个包含商店目录的网站,登录用户可以在其中为这些商店添加书签。我使用 ejs 模板作为页眉和页脚,以将它们包含在我的视图文件中。

在我的导航栏中,我有一个用户图标,应该将经过身份验证的用户带到他们的个人资料页面。问题是我不知道如何将用户的 id 传递给部分子 文件夹 Filehirerachy中的导航栏文件

将路线发布到用户的个人资料页面:

app.get("/users/:userId", function(req, res){

  const requestedUserId = req.params.userId;

  if(req.isAuthenticated()){
    const loggedUser = req.user.id;


    if(loggedUser == requestedUserId){
      User.findById({_id: loggedUser}, function(err, foundUser){


        res.render("user",{
          nickname: foundUser.nickname,
          email: foundUser.username,
          password: foundUser.password
        });
      })

    }


    else{
      res.redirect("/login");
    }

  }

  else{
    res.redirect("/login")
  }


});

头文件:

<div class="collapse navbar-collapse flex-grow-1 text-right" id="myNavbar">
        <ul class="navbar-nav ms-auto flex-nowrap">
          <li class="nav-item dropdown ">
        <a class="nav-link dropdown-toggle user-icon" href="/users/<%=_id%>" id="navbarDropdownMenuLink" role="button" data-bs-toggle="dropdown" aria-expanded="false">
          <i class="fas fa-user-circle fa-2x"></i>
        </a>

      </li>
        </ul>
    </div>

我不知道如何将用户的 id 传递给头文件。

标签: node.jsmongooseejs

解决方案


推荐阅读