================ ROUTE ==============

app.get("/forums/:id", function(req, res){

connection.query('SELECT * FROM Forums where ForumID = ?', [req.params.id], function (err, forumResults) {
    if (err) throw err;
    console.log(forumResults);

    connection.query('SELECT * FROM  Users_Comments_Topics_Forums where ForumID = ?',[req.params.id], function (err, topicResults) {
        if (err) throw err;
        console.log(topicResults);

             res.render("Forums/show", {topic: topicResults, forum: forumResults});
});
});
});


注意:加载页面时,它将通过console.log向我显示结果,因此我知道所传递的数据。出于这个原因,我认为问题不在解决之内,但我可能是错的。
================== EJS页面================

这部分工作完美。来自数据库的数据呈现在此处的页面上。

   <%forum.forEach(function(forum){%>
            <div class="container card">

                <div class="container">
                    <div class="container forum_square">
                        <div class="row">
                            <div class="col-lg-6 block">
                                <a href ="/forums/<%= forum.ForumID %>"> <h5><%=forum.Board %></h5></a>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-lg-12">
                               <p><%= forum.Description %></p>

                            </div>
                        </div>
                    </div>

                            </div>
                        </div>
                    <% }); %>

                    </div>


但是,就在下面...

<div class="col-lg-6 card description">


                  <div class="card-body">
                    <h5 class="card-title">Welcome to <%=forum.Board%></h5>
                    <p class="card-text"><%=forum.Board %></p>
                    <a class="btn btn-primary" href="forums/new" role="button">Make new Forum</a>


            </div>
        </div>


forum.Board不会显示在页面上。除此之外,即使您擦除页面上的所有其他内容并仅键入,它也不会显示。到目前为止,它仅在循环内显示。

==================我尝试过的事情=========================

我尝试在模板标签和数据之间添加和删除空格

我尝试使用<%-而不是
我曾尝试回滚到以前的版本,在此之前它对我来说非常理想。

有人知道会发生什么吗?

最佳答案

您传递到ejs页面的可变论坛是一个数组。
在foreach中,您为内部的实体使用相同的名称:

  <%forum.forEach(function(forum){%>


在foreach之外,可变论坛(是一个数组)没有属性板。

您可以尝试编写第一个元素:

<% if (forum.length > 0) { %>
 <h5 class="card-title">Welcome to <%=forum[0].Board%></h5>
<% } %>

07-25 20:47
查看更多