Accelerated Ruby on Rails Workshop

This 3-day workshop introduces the Ruby programming language to programmers who want to use Ruby on Rails to write sophisticated databased driven web applications.

Requirements:

Day 1: The Ruby Programming Language

In order to successfully write applications using Ruby on Rails it’s important to first have a solid understanding of the Ruby programming language and its ecosystem. Therefore this workshop starts off by exploring the Ruby language, experimenting with the various Ruby development tools, and taking time to write several small utilities in Ruby.

At the end of the day students will be confident enough with their new skills to practice Ruby on their own and be ready to tackle the Ruby on Rails application framework.

This workshop uses the recently released 2.0 version of Ruby and explains how it differs from the popular 1.8 and 1.9 versions.

Topics:

  • What is Ruby?
  • What Does Ruby Look Like?
  • Interactive Ruby (REPL)
  • The Ruby Type System
  • User Defined Types
  • Blocks, Flow Control, and Iterating
  • Literals and Symbols
  • Modules and Mixins
  • Processes, Threads, and Fibers
  • Unit Testing and Testing Frameworks
  • Debugging Ruby Programs
  • Packaging Code As Ruby Gems
  • Installing Ruby on Rails


Day 2: Ruby on Rails (Part 1)

The second day jumps right into Ruby on Rails by creating a new Rails application and exploring the structure of an empty Rails project.

Students will learn the basics of Ruby on Rails by adding new features to an example application throughout the day. Using the Model-View-Controller (MVC) design pattern we’ll begin at the database layer and work our way up to the user interface.

The day ends with a fully working Ruby on Rails application ready to deploy to a production server.

Topics:

  • What is Ruby on Rails?
  • Generating an Empty Rails Application
  • The Structure of a Rails Project
  • Configuration and Environments
  • Connecting Rails to a Database
  • Managing the Database Schema
  • Models: Persistent Ruby Classes
  • Model Relationships and Validation
  • SQL Queries with Relational Algebra
  • Life Cycle Callbacks in Models
  • Controllers: Bridging Models and the UI
  • Views, HTML, and the Assets Pipeline


Day 3: Ruby on Rails (Part 2)

For the final day of the workshop students will make improvements to their Rails applications while learning more advanced features such as managing external dependencies, secure authentication and authorization, sending email, and deploying to production.

Students will walk away with a complete and working reference application that utilizes the most common features of the Rails framework, deployed to a production server.

Topics:

  • Using Ruby Gems in a Rails Application
  • Adding Authentication using Devise
  • Turning the Application into a Web Service
  • Sending Email Using ActionMailer
  • Internationalization
  • Running a Rails Application in Production
  • Rails Deployment Tools