初学者程序员。
我正在使用node和express创建一个应用程序,当我收到我的h1文本和链接以显示在页面上时,我似乎无法从我使用pqsl设置的数据库中呈现数据。我无法找到与我正在做的相对应的答案,任何帮助都会非常感激!
这是控制器页面:
const Goal = require('../models/goal');
const goalsController = {};
goalsController.index = (req, res) => {
Goal.findAll()
.then(goals => {
res.render('goals/index', {goals: goals});
})
.catch(err => {
res.status(400).json(err);
});
};
module.exports = goalsController;
这是我的目标/ index.ejs页面:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<h1>Here's a look at all of your goals!!</h1>
<a href="/goals/new">New Goal?</a>
<div class="goal-container">
<% goals.forEach(goal => { %>
<h2>
<a href="/goals/<%= goal.id %>"><%= goal.goal %></a>
</h2>
<% }) %>
</div>
</body>
</html>
我的路线页面:
const express = require('express');
const goalsController = require('../controllers/goals-controllers');
const goalsRouter = express.Router();
goalsRouter.get('/', goalsController.index);
module.exports = goalsRouter;
和模型页面:
const db = require('../db/config');
const Goal = {};
Goal.findAll = () => {
return db.query('SELECT * FROM goals ORDER BY id ASC');
};
module.exports = Goal;
更新:我已经发现由于某种原因,我的数据库是在psql中连接的,而不是我的种子文件。还没弄明白这个问题,但毕竟这不是一个EJS问题!