Right now, we have two routes. However, we want to add a few more. Next, we'll add a /user/:name
route, so that the user can skip the logging-in step. For example, I could go directly to http://localhost:3000/user/Andrew
, and I wouldn't have to log in; I could just choose a room. While this may not be practical or realistic, I think it's a fun touch that is very simple to add.
In the router class, add the following route:
'user/:user': 'user'
Now, let's write this method in the controller as follows:
Controller.prototype.user = function (user) { this.showUsersAndRooms(); this.users.addUser(user, function (joined) { if (joined) { App.layout.controls.show(new App.Room.CreateRoomView({ collection: this.rooms })); } else { Backbone.history.navigate('', { trigger: true }); } }, this); };
First, we'll call our showUsersAndRooms
helper method to display the lists of users and rooms. Then, we'll call the user collection's addUser
...