이번 파트에서는, 글 목록을 삭제하는 기능을 추가해볼 것이다.

우선, 삭제를 하기 위해서, view.jade 에서 delete 링크를 추가하고, 해당 라우터를 만든다.

(view.jade 의 일부분)

li
	a(href='/topic/'+topic.id+'/delete') delete

('/topic/'+topic.id+'/delete')

app.get(['/topic/:id/delete'], function(req, res) {
  var sql = "SELECT id,title FROM topic";
  conn.query(sql, function(error, topics, fields) {
    var id = req.params.id;
    if (id) {
      var sql = "SELECT * FROM topic WHERE id=?"
      conn.query(sql, [id], function(error, topic, fields) {
        if (error) {
          console.log(error);
          res.status(500).send('Internal Server Error');
        } else {
          res.render('delete', {
            topics: topics,
            topic: topic[0]
          });
        }
      });
    } else {
      console.log('There is no id');
      res.status(500).send('Internal Server Error');
    }
  });
});

(delete.jade)

doctype html
html
  head
    meta(charset='utf-8')
  body
    h1
      a(href='/topic') Server Side Javascript
    ul
      each topic in topics
        li
          a(href='/topic/'+topic.id)= topic.title
    article
      h1= 'Delete?' + topic.title
      form(action='/topic/'+topic.id+'/delete' method='post')
        p
          input(type='submit' value='YES')
      a(href='/topic/'+topic.id) NO

→ 해당 라우터는 아직 작성하지 않았기 때문에, 라우터를 작성한다.

('/topic/'+topic.id+'/delete' 라우터)