将用户详细信息发送到本地视图

时间:2021-03-04 12:01:15

标签: node.js express mongoose ejs

这是我的一般视图格式:

<html>
<head></head>
<body>

<%- include('_header'); %>
<main>
(html code for a particular page)
</main>
<%- include('_footer'); %>

</body>
</html>

这是我的 _header.ejs 代码:

<header>
    <a id="logos" href="/">
        <img id="dr" src="/imgs/logo.png" alt="logo">
    </a>

    <div id="nav_bar">
        <a href="/achievements">Achievements</a>
        <a href="/sponsors">Sponsors</a>
        <a href="/team">Team</a>
        <a href="/gallery">Gallery</a>
        <% if(profile_user.id) { %>
            <a href="/login">Profile</a>
        <% } else { %>
            <a href="/login">Log In</a>
        <% } %>

    </div>

</header>

我有从不同控制器获取控制器的路由文件夹。我收到一个错误 _header.ejs,提示 profile_user.id 未定义。

   11|         <a href="/gallery">Gallery</a>
>> 12|         <% if(profile_user) { %> 
   13|             <a href="/login"><%= profile_user.user %></a>
   14|         <% } else { %>
   15|             <a href="/login">Log In</a>

profile_user is not defined

现在解决这个问题的方法是使用 User.findOne() 但我不想对所有控制器都这样做。我想将 profile_user 全球化到所有视图中。你能告诉我怎么做吗?

0 个答案:

没有答案