Rails Training Course

Objectives

By taking the Ruby on Rails Training course, students will:

  • Configure and install Ruby and Rails
  • Learn the basics of the Ruby language
  • Build a new Rails application from scratch
  • Setup and manage databases with migrations
  • Learn how to configure Rails’ routing
  • Practice test-driven development (TDD) with Rspec
  • Learn about behavior-driven development (BDD) with Cucumber
  • Learn how to leverage ActiveRecord with associations, validations, and callbacks
  • Understand resources and REST, and how to use them in a Rails application
  • Learn how to find and use plugins
  • Understand the various deployment options for Rails applications
  • Understand Rails’ opinions and how to embrace or override them

Audience

This course is designed for developers who have some web development experience that wish to learn Ruby on Rails.

Prerequisites

The participants taking the Ruby on Rails Training course must be familiar with the general principles of object oriented programming (OOP). Prior exposure to the following concepts and technologies is very helpful, but not required:

  • General understanding of web development principles
  • Basic knowledge of HTML and CSS
  • Basic knowledge of JavaScript
  • Basic understanding of the HTTP protocol, including concepts like SSL, redirection, GET vs POST, etc.
  • Basic knowledge of SQL
  • Familiarity with MySQL (or any other relational database)

Ruby Overview

  • Objects
  • Classes
  • Core Ruby
  • Common Standard Library Classes
  • Control Structures
  • Scope
  • Blocks
  • Modules

Toolbox

  • Git
  • Gems

Test-driven Development with RSpec

  • Introduction to TDD
  • Red-Green-Refactor
  • Describing a feature
  • Verifying expectations
  • Mocks & Stubs

Rails Introduction

  • The Architecture
  • the Model-View-Controller pattern
  • Rails project structure
  • Scaffolding for jumpstart

Rails Toolbox

  • Rake
  • Git
  • Test Frameworks
  • Deploying a Rails application

Demystifying Rails

  • The Console
  • Models with ActiveRecord
  • Routes and Controllers
  • Associations
  • Migrations
  • Views

Test-Driving your Rails App

  • Beyond Scaffolding
  • BDD with Cucumber and Rspec
  • Outside-in Testing
  • Test-driving Feature Development
  • Rails testing helpers

Advanced Controllers and Models

  • Validations
  • Evolving your Database
  • Modifying Application Flow

Rails Power Tools

  • Named Routes
  • Rails Plugins
  • User Authentication