LOGO For Immediate Assistance Call 855-211-9361

Enterprise

Introduction to Ruby on Rails

Price: $2,825.00

Call for availability 855-211-9361

If you are an experienced developer who wants to jumpstart Ruby and Ruby on Rails sign up for this 5 day course. This is a fast-paced, hands-on Ruby on Rails training course developed by programmers for programmers. The goal is to provide you with a solid understanding of the concepts and best practices for building high-quality Rails applications. Through a series of hands-on exercises, each building on previous exercises, the course will cover all major features of Rails 2.0.

Course Overview

By the end of the class students will be able to:

  • Install and configure Ruby, RubyGems, and Rails
  • Be familiar with the fundamentals of Rake (Ruby’s make)
  • Understand Ruby fundamentals
  • Understand all tiers of the Rails implementation of the Model/View/Controller pattern
  • Know Rails database access features, including modeling of complex relationships
  • Be able to send and receive mail from Rails applications
  • Be able to develop REST-style web services with Rails
  • Have knowledge of schema creation with Active Record Migrations
  • Be able to do Test Driven Development of Rails applications
  • Understand Rails' Routing technology
  • Create dynamic Ajax applications using RJS

Prerequisites

As a prerequisite for this course, you must be an experienced software developer. Ideally, you will have programming experience with a language such as Java, C#, C++, PHP, Perl, Python, or a similar OO language.

If your only Web development experience is with HTML/CSS, this course is not a good fit.

Course Outline

  • Exploring Ruby

    • irb
    • Ruby documentation
    • a few core classes
    • reflection
    • encapsulation
    • inheritance
    • unit testing
  • Collections, Strings, and a Little Metaprogramming

    • iteration
    • blocks
    • open classes
    • method_missing
    • define_method
    • regular expressions
    • string and array methods
  • Processing Data in Ruby

    • *args
    • gets
    • chomp
    • strings and symbols
    • to_s and to_sym
    • libraries
    • date
  • Ruby Idioms

    • lots of literals
    • modules
    • reflection revisited
    • closures, procs, and blocks
    • ranges
    • case equality
    • exception handling
  • Intro to Rails

    • what is Rails?
    • MVC
    • creating an application
    • directory structure
    • support scripts
    • log files
    • validation
  • Migrations

    • migrating tables
    • migrating columns
    • migrating indexes
    • SQL migrations
    • Rails 2.0 sexy migrations
    • managing the schema version
  • ActiveRecord

    • gems
    • getting connected
    • CRUD
    • validations
    • lifecycle methods
    • transactions
    • magic columns
  • Testing Models

    • types of tests
    • unit testing
    • assertions
    • testing exceptions
    • testing validations
    • using fixtures
    • refactoring tests
  • ActiveRecord Relationships

    • has_one, belongs_to, has_many, habtm
    • generated methods
    • relationship options
    • :through and polymorphic relationships
    • acts_as_list, acts_as_tree
    • when instances get saved
  • Rake

    • Domain-Specific Languages (DSLs)
    • rake, ant, and make
    • rake command line options
    • common tasks
    • writing your own tasks
    • namespaces
    • adding tasks to a Rails application
  • ActionController

    • actions
    • params, session, and flash
    • render or redirect?
    • filters and verify
    • routing
    • named routes
  • Testing Controllers

    • functional and integration testing
    • request methods
    • assert_response and assert_redirect
    • asserting assigns
    • the mighty assert_select
    • decoupling tests from model layer
    • rcov
  • ActionView

    • render options
    • ERB
    • Builder
    • layouts
    • partials
    • Rails helpers
    • writing your own helpers
  • Ajax on Rails

    • prototype
    • ajax helpers
    • observing forms and fields
    • scriptaculous
    • autocomplete
    • drag and drop
    • RJS
  • Caching

    • page caching
    • action caching
    • fragment caching
    • query caching
    • profiling
    • benchmarking
    • log analysis