【发布时间】:2023-03-15 02:46:01
【问题描述】:
我在加载 .ejs 视图时收到此错误:
ReferenceError: plants is not defined
我所有的其他视图都适用于包含等。
plants.js 路由器:
router.get('/plants', plantsController.getPlantsPage);
plants.js 控制器:
const Plant = require('../models/plant');
exports.getPlantsPage = (req, res, next) => {
res.render('plants', {
plants: plants,
pageTitle: 'Plants',
path: '/plants',
hasPlants: plants.length > 0
});
};
plant.js 模型:
module.exports = class Plant {
constructor(common_name, image_url, scientific_name) {
this.common_name = common_name;
this.image_url = image_url;
this.scientific_name = scientific_name;
}
}
plants.ejs:
<% if (hasPlants) { %>
<% for (let plant of plants) { %>
<div class="col s12 m4">
<div class="card">
<div class="card-image waves-effect waves-block waves-light">
<img class="activator" src="<%= plant.image_url %>">
</div>
<div class="card-content">
<span class="card-title activator grey-text text-darken-4"><%= plant.common_name %><i class="material-icons right">MORE</i></span>
</div>
<div class="card-reveal">
<span class="card-title grey-text text-darken-4"><%= plant.common_name %><i class="material-icons right">CLOSE</i></span>
<p><%= plant.scientific_name %></p>
<p><a href="/plant-details/<%= plant.id %>">Plant Details</a></p>
</div>
</div>
</div>
<% } %>
<% } else { %>
<div class="row">
<div class="col s12">
<p>No Plants Added!</p>
</div>
</div>
<% } %>
谢谢。
【问题讨论】:
-
您确定设置了
plants变量吗?错误提示plants未定义。试试console.log()变量 -
谢谢!我觉得很傻。通过将
const plants = [];添加到我的控制器来解决。