Rails Pages

These are the pages that I use with the Ruby on Rails course that I teach. This site provides general background and support materials for anyone interested in learning Rails.


There is one lecture a week with slides and recordings in MyAberdeen. The second lecture each week is a ‘deliberate practice‘ session. Each of these is a programming exercise tied to the previous lecture for students to work at in pairs. The details for each of these will come from my repositories on Github.

Each session will have three coding and discussion cycles: Each cycle consists of 12 minutes of working we’ll stop to discuss how people are approaching the problem, and what they plan to do next. After the final one we’ll wrap up with lessons learned during the session.

During each round we’ll offer a different point of focus for the round so that you are guided in your direction of development. In order to gain the most from these sessions you should not always work with the same person each week so that you benefit from different perspectives on development.

Distance Learning:

If you’re doing this remotely, then work through the ‘deliberate practice‘ session on your own, and set a timer for each round of activity. This will help focus your work during the exercise.

The Lectures and the Deliberate Practice Sessions

Week 1: Introduction   – Story Generator

Week 2:  The Basic Rails app – Temperature Conversion

Week 3:  Rails Databases – Parsing CSV into Models

Week 4:  Database Relations plus Search and Filter – Shopping Exercise

Week 5:  Git and Heroku – Deploy the Shopping Exercise from last week onto Heroku – use Rails Tutorial Chapter 1.5 deploy for details

Week 6:   Behaviour Driven Development Testing – A BDD example

Week 7:  Presentations – both sessions this week

Week 8:  Authentication Systems   – work on assessment

Week 9: RSpec testing with FactoryBot

Week 10:   Security and Web Applications- Explore security issues with the security shopping example

Week 11:  Scaling up applications to work in production – exploring problem sites with the rails guessing game


The Practical Sessions

Week 1: Setting up Ruby and Rails for your work this term.

Week 2: Work on the start of our larger travel agent website. The ‘travel agent’ site builds into a larger Rails application with cross-referenced tables in the database so that we can explore more complex structures.

Week 3: Start adding some tables and objects in the next part of the travel agent site and enable exception handling, and seeding data to tables for a dashboard with charts.

Week 4: This week we continue with the travel agent site by adding search and customers to the site.

Week 5: We want to be able to use Git  to deploy our applications to Heroku.

Week 6: Working with Capybara to do tests from the outside in of the travelagent.

Week 7: We should add customer bookings to the travelagent along with more admin support in the dashboard

Week 8: We need an authentication system so we’ll create user accounts for staff as well as a login system..

Week 9: We can now make our system ready for production, and see which security issues the OWASP site suggests we should address

Week 10: Work on your assessment.

Week 11: We can now tidy up everything.

Week 12: Work on your assessment.