Публикации - Node.js

Разработка express-приложения - Разработка приложения с помощью Express, sequelize и mysql2 - Контроллер

После инициализации Sequelize, у нас нет необходимости писать CRUD методы, Sequelize уже подддерживает их:

  • create a new Tutorial: create(object)
  • find a Tutorial by id: findByPk(id)
  • get all Tutorials: findAll()
  • update a Tutorial by id: update(data, where: { id: id })
  • remove a Tutorial: destroy(where: { id: id })
  • remove all Tutorials: destroy(where: {})
  • find all Tutorials by title: findAll({ where: { title: ... } })

Эти функции пригодятся в контроллерах.

Контроллеры находятся в папке приложения /routes

Теперь нам нужно создать экшн, обрабатывающий не только главную страницу, но и переменные из адресной строки в запросе. Вносим следующие изменения в файл контроллера index.js

var express = require('express');
const db = require('../models');
var router = express.Router();
const Maintext = db.maintexts;
router.get('/:url?', function (req, res, next) {
    let url;
    if (req.params.url) {
        url = req.params.url;
    } else {
        url = 'index';
    }
    Maintext.findOne({where: {url: url}})
        .then(data => {
            // res.send(data);
            res.render('index', {obj: data});
        })
        .catch(error => {
            console.log(error);
            res.send('error');
        })

})
module.exports = router;

Количество комментариев: 0

Для того, чтобы оставить коментарий необходимо зарегистрироваться