Course Overview

Core Ruby on Rails is a two day course that teaches students how to write database-backed Web Applications using the Ruby on Rails (RoR) Framework. Working in a hands-on learning environment, Students explore the various steps of creating a robust Web Application. Course topics include the MVC paradigm, object relational mapping, fill in forms, sessions, validation techniques, testing, and other core features of Rails. 

Key Learning Areas

  • Download and install Rails along with various other products that allow one to write Rails applications
  • Understand the Model, View, Controller paradigm and how this applies to Rails applications
  • Understand the directory structure of a Rails application
  • Build non-trivial database backed Web Applications
  • Understand the ActiveRecord classes and how they wrap database tables
  • Understand the interplay between various controller actions and .rhtml (template) files
  • Understand the Create, Read, Update, and Destroy (CRUD) paradigm
  • Validate Model data
  • Test Rails applications
  • Use the Rails console to debug applications

Course Outline

An Overview Of Ruby on Rails

  • What is Ruby on Rails
  • Downloading Rails
  • A Rails Application
  • Structure of a Rails Application
  • Building the Controller
  • Views
  • A Quick Review
  • Rails Conventions
  • Embedded Ruby
  • Extended Time Functions
  • The render Method
  • The link_to Method
  • One Last Thought

Fill in Forms

  • Introduction
  • Creating a Form
  • Submitting a Form
  • Other Form Elements - Checkboxes
  • Radio Buttons
  • Rails Helper Methods
  • Loading the Form
  • Submitting the Form
  • Perspective

Databases and Rails

  • Review of MVC
  • Entities and Relationships
  • Databases and Models
  • database.yml
  • Adding the Model
  • Migrations
  • The Index Page
  • The Ruby Console
  • Listing the Rows of a Database Table
  • Scaffolding

Validation Techniques

  • Introduction
  • form_for
  • Data Validation
  • Required Fields
  • Validating Numerical Fields
  • Validating Uniqueness
  • Validating Lengths
  • Validating Formats
  • Writing Your Own Validation Methods
  • The errors Object
  • Validation Summary


  • Adding Style to Your Application
  • The Actions and the Templates
  • Displaying the New Templates
  • Higher Level Templates
  • Adding Style
  • Cascading Style Sheets
  • More Style


  • Introduction
  • Maintaining State
  • Preparing an Application for Sessions
  • Registering Users
  • Registration
  • The flash Hash
  • Validation of the Form
  • Logging In
  • Logging Out
  • Protected Pages
  • Filters

Putting it All Together

  • Introduction
  • The Business Application
  • Database Terminology
  • Linking Two Models
  • Adding Tasks
  • The Database Tables
  • Displaying an Employee Task
  • Deleting a Task
  • Listing Both Employees and Tasks
  • Migrations
  • application_helpers.rb
  • Editing a Record
  • Summary

Testing the Application

  • Introduction
  • Test::Unit
  • Testing Your Own Classes
  • Testing in Rails – Unit Testing
  • Testing Models
  • Fixtures
  • Testing Controllers
  • test_helper.rb
  • rake
  • Integration Testing

Who Benefits

This course is geared for web developers currently using Java, .Net, or other frameworks, who are seeking a more agile way to get things done.


Students should have been through a course in the Ruby Programming language. They should also have an understanding of HTML. Students should also have experience with a SQL compliant database such as MySQL.