CRUD – deleting user and projects
That's the theory, so let's see it in action and let a user delete their account. To follow the approach we've been taking through this application, we'll have a page displaying a form and a form handler.
The routes in app.js
that we'll use for this are:
app.get('/user/delete', user.confirmDelete); // delete current user form app.post('/user/delete', user.doDelete); // Delete current user action
The "Are you sure" page
Before a user deletes the account we want to ask them to confirm this, in case they clicked on the link by accident. So we create a new view as views/user-delete-form.jade
:
h1= title p #{name}, are you sure you want to permanently delete your account? The email address on this account is #{email} form(id="formUserDelete", method="post", action="") input(type="hidden", name="_id", id="_id", value="#{_id}") input(type="submit", value="Yes, please delete it!")
And create a controller to map it to the route in routes/user.js
:
// GET user delete...