Для цикла в Jade Template Engine - PullRequest
0 голосов
/ 05 июля 2019

Я использую простой цикл в движке шаблонов 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;
...