NodeJS Express и EJS Разрывают маршрут с помощью идентификаторов

#node.js #express #ejs

Вопрос:

Должен ли я использовать идентификатор для использования различных объектов в моих файлах ejs? Когда я пытаюсь выполнить рендеринг, используя свойство, отличное от моего объекта json, я получаю «Неопределенную ошибку».

Вот мой JSON:

 [{
    "id": 0,
    "TABLE_NAME": "t_Cards",
    "NUM_OF_ROWS": 33
},
{
    "id":1,
    "TABLE_NAME":"t_Users",
    "NUM_OF_ROWS": 44
},
{
    "id":2,
    "TABLE_NAME":"t_Date",
    "NUM_OF_ROWS": 44
}]
 

Вот мой код:

 const express = require('express');
const app = express();
const dataTables = require('./routes/data/dataTables.json');
const tableRouter = express.Router();

app.set('view engine', 'ejs');
app.set('views', './views');
   
// This is going to render the index page. 
app.get('/', (req, res) => {
    res.render('index', {
        dataTables,
});

app.use('/dataDictionarys', tableRouter);

// I think the /:id might be part of the Express Framework? I could be wrong
tableRouter.route('/:id').get((req, res) => {
    const ID = req.params.id;
    res.render('./dataDictionarys/dataDictionary', {
        dataTable : dataTables[ID],
    })
});

console.log("app is listening");
app.listen(5000);
 

Должен ли я использовать идентификатор? Когда я пытаюсь использовать ИМЯ ТАБЛИЦЫ для идентификации своего объекта и использовать ИМЯ ТАБЛИЦЫ в URL-адресе, в нем говорится, что ИМЯ ТАБЛИЦЫ не определено. Является ли id просто частью платформы Express или ejs? Означает ли это, что лучше всего, чтобы все мои объекты json имели свойство id?