Я использую простой цикл в движке шаблонов Jade, чтобы перечислить всех своих сотрудников.Вот мой код.
extends ../layout/main
block content
style(type='text/css').
.container.createEmployee {
float: left;
float: right;
width: 80%;
margin-top: 40px;
body
.container.createEmployee
h3
a(href='/employees/create') Create Employee
h1 Employee List
if employee.length > 0
for(var i=0 i<employee.length i++)
table.table.table-striped
thead
tr
th No#
th Employee Name
th Position
tbody
tr
td
a(href='/employees/show/ #{employee[i]._id}') #{employee[i].name}
//- td 1
//- td Moaiz pervaiz
td #{employee[i].position}
//- td Software Developer
div No employees found.
Но он показывает мне ошибку:
Невозможно прочитать свойство 'length' из неопределенного
Я не могу получитьпочему возникла эта ошибка и, пожалуйста, проверьте мои условия if
и цикл for
.Я использую это правильно или нет.Пожалуйста, помогите мне.Заранее спасибо.
Вот мой код контроллера:
var mongoose = require("mongoose");
var Employee = require("../models/employee");
var employeeController = {};
employeeController.list = function(req, res) {
Employee.find({}).exec(function (err, employees) {
if (err) {
console.log("Error:", err);
}
else {
res.render("../views/employees/index", {employees: employees});
}
});
};
employeeController.show = function(req, res) {
Employee.findOne({_id: req.params.id}).exec(function (err, employee) {
if (err) {
console.log("Error:", err);
}
else {
res.render("../views/employees/show", {employee: employee});
}
});
};
employeeController.create = function(req, res) {
res.render("../views/employees/create");
};
employeeController.save = function(req, res) {
var employee = new Employee(req.body);
employee.save(function(err) {
if(err) {
console.log(err);
res.render("../views/employees/create");
} else {
console.log("Successfully created an employee.");
res.redirect("/employees/show/"+employee._id);
}
});
};
employeeController.edit = function(req, res) {
Employee.findOne({_id: req.params.id}).exec(function (err, employee) {
if (err) {
console.log("Error:", err);
}
else {
res.render("../views/employees/edit", {employee: employee});
}
});
};
employeeController.update = function(req, res) {
Employee.findByIdAndUpdate(req.params.id, { $set: { name: req.body.name, address: req.body.address, position: req.body.position, salary: req.body.salary }}, { new: true }, function (err, employee) {
if (err) {
console.log(err);
res.render("../views/employees/edit", {employee: req.body});
}
res.redirect("/employees/show/"+employee._id);
});
};
employeeController.delete = function(req, res) {
Employee.remove({_id: req.params.id}, function(err) {
if(err) {
console.log(err);
}
else {
console.log("Employee deleted!");
res.redirect("/employees");
}
});
};
module.exports = employeeController;