Adding a form to create pages
Every user in our social network should be able to browse and create pages. This is a completely new functionality. So, we will need a new route and controller.
Let's start by updating
frontend/js/app.js
, as follows:.add('pages', function() { if(userModel.isLogged()) { var p = new Pages(); showPage(p); } else { Router.navigate('login'); } }) .add(function() { Router.navigate('home'); })
Just above the default handler, we will register a route that creates an instance of a new controller called
Pages
. We will make sure that the visitor is logged in before seeing the page. In the same file, at the top, we will addvar Pages = require('./controllers/Pages');
.Let's dive into the
controllers/Page.js
file and see how you can bootstrap the controller:module.exports = Ractive.extend({ template: require('../../tpl/pages'), components: { navigation: require('../views/Navigation'), appfooter: require('../views/Footer') }, data: { ...