Working with Ruby on Rails



In this course, you will learn how to write database-backed web applications using the Ruby on Rails (RoR) framework. Working in a hands-on learning environment, you will explore the various steps of creating a robust web application using the MVC paradigm, object relational mapping, fill in forms, sessions, validation techniques, testing, and other core features of Rails.


Web developers currently using Java, .Net, or other frameworks who are seeking a more agile way to get things done using the Ruby on Rails framework


  • Practical skills in programming basic Ruby or have recently attended a course with equivalent core Ruby programming skills such as Introduction to Ruby Programming (TTE6450)
  • Knowledge of HTML, as well as practical experience working with an SQL compliant database such as MySQL

Learning Objectives

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

1. 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

2. 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

3. 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

4. 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

5. Style

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

6. Users

  • 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

7. 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

8. 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