Why do i need class attribute in this code

<!DOCTYPE html>
<html>

<head>
	<title>Student Data</title>
	<style>
		table,
		th,
		td {
			border: 1px solid black;
			border-collapse: collapse;
		}

		th,
		td {
			padding: 5px;
		}
	</style>
</head>

<body>
	<h2>
		Student DATA
	</h2>
	<h3>
		<a href="/student/add/">
			Add Student
		</a>
	</h3>
	<table style="width:30%">
		<tr>
			<% for (let i = 0; i < column.length; i++) { %>
			<th><%=column[i]%></th>
			<% } %>
			<th>Actions</th>
			<th colspan="2">Options</th>
		</tr>

		<% for (let i = 0; i < listdata.length; i++) { %>
		<tr>
			<% for (let keys in listdata[i]) { %>
			<% if (keys !== 'createdAt' && keys !== 'updatedAt') { %>
			<td><%=listdata[i][keys]%></td>
			<% } %>
			<% } %>
			<td>
				<a href="/student/addsubject/<%=listdata[i].id%>">
					<button type="button">Add Subject</button>
				</a>
			</td>
			<td>
				<a href="/student/edit/<%=listdata[i].id%>">
					<button type="button">Edit</button>
				</a>
			</td>
			<td>
				<a href="/student/delete/<%=listdata[i].id%>">
					<button type="button" onclick="alert('You are deleting id <%=listdata[i].id%>')">Delete</button>
				</a>
			</td>

		</tr>
		<% } %>


	</table>


</body>

</html>
<!DOCTYPE html>
<html>

<head>
    <title>Student Data</title>

</head>

<body>
    <h3>Edit Student</h3>
    <form method=POST>
        <table style="width:10%">
            <% for (let keys in data) { %>
            <% if (keys !== 'id' && keys !== "createdAt" && keys !== "updatedAt") { %>
            <tr>
                <th>
                    <label for="<%=keys%>">
                        <%=keys%>
                    </label>
                </th>
                <th>
                    <input type="text" name="<%=keys%>" value="<%=data[keys]%>">
                    <br>
                </th>
            </tr>
            <% } %>
            <% } %>
            <tr>
                <th colspan="2">
                    <br>
                    <button type="submit">
                        Edit
                    </button>
                </th>
            </tr>
        </table>
    </form>

</body>

</html>
<!DOCTYPE html>
<html>
<head>
	<title>Student Data</title>

</head>
<body>
    <h3>Add Student</h3>
    <form method=POST>
        <table style="width:10%">
                <% for (let i = 0; i < column.length; i++) { %>
                    <% if (column[i] !== 'id') { %>
                    <tr>
                    <th>
                    <label for = "<%=column[i]%>">
                        <%=column[i]%>
                    </label>
                    </th>
                    <th>
                    <input type="text" name = "<%=column[i]%>" value = "<%column[i]%>">
                    <br>
                    </th>
                    </tr>
                    <% } %>
                <% } %>
                
                <tr>
                    <th colspan="2">  
                    <br>      
                    <button type="submit">
                        Add
                    </button>
                    </th>
                </tr>
        </table>
    </form>


	

</body>
</html>
'use strict'

const express = require('express')
const routes = require('./routes')
// const body = require('body-parser')
let app = express()

app.use(express.urlencoded({extended: false}))

// app.use(body.urlencoded({extended: true}))
// app.use(body.json());

app.set("view engine", "ejs")
app.use('/', routes)
app.listen(3000, () => {
    console.log('running apps')
})
const routes = require('express').Router()
const student = require('./student.js')
const teacher = require('./teacher.js')
const subject = require('./subject.js')

routes.get('/', (req,res) => {
    res.send('home')
})

routes.use('/teacher', teacher)
routes.use('/subject', subject)
routes.use('/student', student)


module.exports = routes
const routes = require("express").Router()
const Student = require('../models').Student
const Subject = require('../models').Subject

routes.get('/', (req, res) => {
    Student.findAll()
    .then((result) => {
        res.render('allStudent', {
            listdata: result.map(x => x.dataValues),
            column: Student.getKeys()
        })
    })
    .catch((err) => {
        res.render('error', {err:err})
    })
})

routes.get('/add', (req,res) => {
    res.render('addStudent', {
        column: Student.getKeys()
    })
})

routes.post('/add', (req,res) => {
    Student.create({
        first_name: req.body.first_name,
        last_name: req.body.last_name,
        email: req.body.email,
    })
    .then((response) => {
        res.redirect('/student')
    })
    .catch((err) => {
        res.render('error', {err:err})
    })
})

routes.get('/delete/:id', (req,res) => {
    Student.destroy({
        where: {id: req.params.id}
    })
    .then((response) => {
        res.redirect('/student')
    })
    .catch((err) => {
        res.render('error', {err:err})
    })

})

routes.get('/edit/:id', (req,res) => {
    Student.findByPk(req.params.id)
    .then((result) => {
        res.render('editStudent', {
            data: result.dataValues
        })
    })
})

routes.post('/edit/:id', (req,res) =>{
    Student.update({
        first_name: req.body.first_name,
        last_name: req.body.last_name,
        email: req.body.email
    },{
        where: {id: req.params.id}
    })
    .then((result) => {
        res.redirect('/student')
    })
    .catch((err) => {
        res.render('error', {err:err})
    })
})

routes.get('/addsubject/:id', (req,res) => {
    Subject.findAll()
    .then((subjectResult) => {
        Student.findByPk(req.params.id)
        .then((result) => {
            res.render('addStudentSubject', {
                data: result.dataValues,
                subject: subjectResult.map(x => x.dataValues)
            })
        })
    })
    .catch((err) => {
        res.render('error', {err:err})
    })
})

routes.post('/addsubject/:id', (req,res) =>{
    Student.update({
        SubjectId: req.body.SubjectId
    },{
        where: {id: req.params.id}
    })
    .then((result) => {
        res.redirect('/student')
    })
    .catch((err) => {
        res.render('error', {err:err})
    })
})

module.exports = routes
'use strict';
const routes = require("express").Router()
const sequelize = require('sequelize')
const Op = sequelize.Op
module.exports = (sequelize, DataTypes) => {
  const Teacher = sequelize.define('Teacher', {
    first_name: DataTypes.STRING,
    last_name: DataTypes.STRING,
    email: {
      type:DataTypes.STRING,
      validate:{
          notEmpty:{
              msg:"Email required"
          },
          isEmail:{
              msg:"Valid email required"
          },
          isUnique: function(value, cb) {
            Teacher.findOne({where: {email: value, id:{[Op.ne]: this.id}}})
              .then((result) => {
                if(result){
                  cb('email already used')
                } else {
                  cb()
                }
              })
              .catch((err) => {
                throw new Error(err)
              })
          }
  }
  },
    SubjectId: DataTypes.INTEGER
  }, {});
  Teacher.getKeys = function(){
    let key = Object.keys(this.rawAttributes)
    let result = []
    for (let i = 0; i < key.length; i++){
      if (key[i] !== 'createdAt' && key[i] !== 'updatedAt'){
        result.push(key[i])
      }
    }
    return result
  }
  Teacher.prototype.getFullName = function(){
    return `${this.first_name} ${this.last_name}`;
  }
  Teacher.associate = function(models) {
    // associations can be defined here
    Teacher.belongsTo(models.Subject)
  }
  return Teacher;
}
'use strict';
module.exports = (sequelize, DataTypes) => {
  const Report = sequelize.define('Report', {
    title: DataTypes.STRING,
    description: DataTypes.STRING,
    status: DataTypes.STRING,
    prosecutor: DataTypes.STRING,
    defendant: DataTypes.STRING,
    issueDate: DataTypes.DATE,
    CourtId: DataTypes.INTEGER,
    noReport: DataTypes.STRING
  }, {
    hooks:{
      beforeCreate: (input) => {
      let idCo = ''
      if((input.CourtId < 100 && input.CourtId > 10)){
        idCo += '0' + input.CourtId
      }
      else if(input.CourtId < 10){
        idCo += '00' + input.CourtId
      }
      input.noReport = idCo + '-' + new Date(input.createdAt).toString()
    },

    afterCreate: (input) => {
      let idCo = ''
      if((input.id < 100 && input.id > 10)){
        input.noReport += input.id + input.createdAt.toString() + '-00' + idCo
      }
      else if(input.id < 10){
        input.noReport += input.id + input.createdAt.toString() + '-0' + idCo
      }
    }}
  });
  Report.associate = function(models) {
    // associations can be defined here
    Report.belongsTo(models.Court)
  };
  return Report;
};

can you explain more?

What’s the issue. Did adding class attribute solve this issue?