【问题标题】:Node w/ express using ejs: "ReferenceError: plants is not defined"使用 ejs 表达的节点:“ReferenceError:未定义植物”
【发布时间】: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 = []; 添加到我的控制器来解决。

标签: node.js api express ejs


【解决方案1】:

您确定设置了植物变量吗?该错误表示未定义植物。试试 console.log() 这个变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-07
    • 1970-01-01
    • 2021-06-04
    • 1970-01-01
    • 2017-03-08
    • 2022-01-10
    • 2019-09-23
    相关资源
    最近更新 更多