Introduction to Ruby on Rails

In this 5 day Ruby on Rails training class, students will learn to create database-driven websites using Ruby on Rails.  They will learn to install Ruby and Rails, to program in Ruby and use Ajax in their Ruby on Rails applications.

Goals

  • Learn to install and configure Ruby and Rails
  • Understand the Model-View-Controller framework architecture
  • Learn to program in Ruby
  • Learn to build database-driven applications with Ruby on Rails
  • Learn to work with templates
  • Learn to use Ajax in Ruby on Rails applications
  • Learn to test Ruby on Rails applications

Outline

  1. Getting Started with Rails
    1. Installing Rails
    2. Platform requirements
      1. Supported database backends
      2. Ruby installation
      3. InstantRails for Windows
    3. Creating a new application
      1. The ‘rails’ command
      2. Tour of the Rails application layout
    4. Application configuration and bootstrapping
      1. Creating the databases
      2. Configuring database.yml
      3. Setting the default route
    5. Connecting to a Rails application
      1. controller/action/id URL semantics
      2. Dispatcher and routing roadmap
      3. Basic custom route creation
      4. Examining the log files
    6. Rails tools
      1. Managing tasks with rake (Ruby make)
      2. The application console
    7. The Model/View/Controller (MVC) framework architecture
      1. Separation of concerns
      2. MVC in the application directory layout
    8. The Rails philosophy: “Convention over configuration”
  2. Ruby Language Skills and Techniques
    1. Running Ruby
      1. Command-line Ruby
      2. The Interactive Ruby (irb) console
    2. Objects, variables, and methods
      1. Basic object-orientation concepts
      2. Naming conventions
      3. Variable assignment
      4. Local vs. instance variables
      5. Method-calling semantics
      6. Method arguments and return values
    3. Classes and modules
      1. Instantiating classes
      2. Mixing in modules
      3. Modules as namespaces
    4. Built-in classes
      1. String
      2. Array
      3. Hash
      4. Symbol
      5. Numerics
    5. Blocks and iterators
      1. Blocks vs. methods vs. lambdas
      2. Collection iteration
      3. Single-object iteration
  3. Model Design and Database Management
    1. Domain modeling for Rails and Ruby
      1. Describing the “what” of the application
      2. Creating ActiveRecord models with “generate”
    2. Object-relational mapping with ActiveRecord
      1. ActiveRecord models and Ruby classes
      2. ActiveRecord associations
        1. One-to-one, one-to-many
        2. Many-to-many
    3. “Rails-friendly” SQL
      1. Table-naming conventions
      2. Primary and foreign keys
    4. Database maintenance with ActiveRecord Migrations
      1. Default migrations
      2. Customizing migrations
      3. Migrating backwards
  4. Controller Actions and View Templates
    1. Basics of controller/view interaction
      1. Creating controllers and views with “generate”
      2. Default rendering rules
      3. Shared controller/template instance variables
      4. Separating controller logic from view specifics
    2. HTML templating with Embedded Ruby (ERb)
      1. Rules of ERb processing
      2. Layouts
      3. Using master and partial templates
    3. Fine-tuning controllers and view
      1. Controller filters
      2. Redirecting requests
      3. Default and custom view helper methods
    4. Writing and processing HTML forms in Rails
      1. Using form helper methods
      2. “Magic” field initialization from instance variables
      3. Accessing CGI data through the “params” hash
    5. Ajax calls and RJS (Ruby/JavaScript) templates
      1. Basic DOM updating with Ajax
      2. Using RJS for composite Ajax calls
  5. Application Testing
    1. Rails unit tests
      1. The Ruby TestUnit framework
      2. Writing fixtures
      3. Addressing test failures and errors
    2. Functional (controller) tests
      1. Triggering controller requests from tests
      2. Examining controller responses
  6. Ruby and Rails Resources
    1. Mailing lists
    2. Websites
    3. Books
    4. IRC channels

To Hire an AMS Ruby on Rails Subject Matter Expert and Instructor who also teaches this class, call us today at 800-798-3901!

Leave a Reply