У меня есть следующий код в моем файле header.ejs для моей карты Twitter.
<head>
...
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@DrDenverHBubble">
<meta name="twitter:creator" content="@DrDenverHBubble">
<meta name="twitter:title" content="<%= blog.title %>"></meta>
<meta name="twitter:image" content="<%= blog.image %>"></meta>
</head>
...
На моей странице show.ejs моя веб-страница отображается правильно, а карта Twitter также правильно отображается в Twitter.
Однако на моей странице index.ejs я получаю следующую ошибку с кодом ниже
ReferenceError: /home/ubuntu/workspace/drdenver/views/blogs/index.ejs:1
>> 1| <% include ../partials/header %>
2|
3|
4|
/home/ubuntu/workspace/drdenver/views/partials/header.ejs:16
14| <meta name="twitter:site" content="@DrDenverHBubble">
15| <meta name="twitter:creator" content="@DrDenverHBubble">
>> 16| <meta name="twitter:title" content="<%= blog.title %>"></meta>
17| <meta name="twitter:image" content="<%= blog.image %>"></meta>
18| </head>
19| <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
blog is not defined
Вот код index.ejs
<% include ../partials/header %>
<div id="blog-index" class="container">
<div class="row" style="display: flex; flex-wrap:wrap;">
<div class="col-lg-12">
<% if(noMatch !== null) { %>
<h4> <%= noMatch %> </h4>
<% } %>
</div>
<% blogs.forEach(function(blog){ %>
<div class="col-lg-12">
<div class="ui medium rounded items">
<div class="item">
<div class="image">
<img src="<%= blog.image %>">
</div>
<div class="content">
<a class="header" href="/blogs/<%= blog._id %>"><%=blog.title%></a>
<div class="meta">
<span><%= blog.created.toDateString() %></span>
</div>
<div class="extra">
<% if(blog.body && blog.body.length > 0) { %>
<p><%- blog.body.substring(0, 120) %> ... </p>
<% } %>
<a href="/blogs/<%= blog._id %>">Read More</a>
</div>
</div>
</div>
</div>
</div>
<% }) %>
</div>
...
IЯ новый кодер, но я понимаю, что я не передаю что-либо в переменную blog, которая вызывает мою ошибку.Мое решение состояло в том, чтобы на странице показа удалить <% include ../partials/header%> и вставить код заголовка с кодом карты Twitter, а на странице header.ejs удалить код карты Twitter.Есть ли более СУХОЙ способ кодирования этого?
Спасибо