Ruby on Rails Training Course - Developing Web Applications

Duration: 4 days
Course code: SS-RUB-001

Audience

The Ruby on Rails training course is for developers who have a background in web application programming and want to learn about the Ruby on Rails web applications framework.

  • Web developers
Prerequisites

Attendees must be proficient in web application programming in order to do the labs.

Description

Ruby on Rails has taken the web application community by storm. The Ruby programming language fuses ideas from dynamic, scripting languages with a strong object-oriented framework. Based on the popular Model-View-Controller paradigm, Ruby on Rails, also called RoR and just Rails, is a web programming application framework written in Ruby. Rails leverages Ruby's extensive support for metaprogramming, from which it derives much of its elegance and ease of development. Additionally, Rails makes extensive use of code generation features, making it easy to start a complete application and promoting agile programming techniques.

The key design features that make Rails unique in the web application world are "Don't Repeat Yourself" (DRY) and "Convention over Configuration". The DRY principle means that settings, such as database column names, only need to be specified in one place. Rails ensures that these definitions are visible to all the other web components that need them. Similarly, the Convention over Configuration principle means that web developers only need to make explicit the aspects of their web application that are different from others; Rails (and programmers, too) can infer similar aspects from conventions, e.g., naming conventions. This greatly reduces the need to specify meta data about your web application in configuration files, largely eliminating the XML metadata bloat that is common in other web frameworks.

The Ruby on Rails training course is designed to teach experienced programmers about Ruby and Rails. No experience in either Ruby or Rails is necessary for this course, though a basic familiarity with building web applications will be helpful.

The coverage of Ruby includes a comprehensive treatment of the language constructs, enabling an experienced programmer to write applications in Ruby. The course also covers advanced aspects of Ruby that do not have equivalent features in other programming languages but are essential to an understanding of Rails, for example Ruby's advanced metaprogramming facilities.

The coverage of Rails includes typical web applications issues, such as interacting with a database, handling user inputs and sessions, and generating dynamic content. The course features an in-depth discussion of the major Rails components: Active Record, Action Controllers, and Action Views. In addition, it includes advanced features, such as support in Rails for Ajax applications, testing web applications, incoming and outgoing mail, web services, configuration, and deployment.

Objectives

Upon completion of this course, attendees will be able to:

  • Write a program in Ruby
  • Understand method calls in Ruby
  • Understand Ruby objects and modules
  • Use advanced control flow techniques in Ruby, such as yielding and exceptions
  • Understand the MVC design pattern
  • Use the MVC design pattern to develop web applications in Rails
  • Understand the structure of a Rails application
  • Master the Rails components
  • Test web applications in Rails
  • Use advanced features of Rails: Ajax, mail, web services
  • Apply best practices and design patterns

Outline for Ruby on Rails - Developing Web Applications Training Course

Rails for the Impatient

  • First Rails applications
  • Rails scaffoldings
  • Rails page layouts

The Ruby Programming Language

  • The Ruby programming environment
  • Objects and classes in Ruby
  • Ruby modules
  • Control flow in Ruby
  • Ruby collections and containers
  • Regular expressions
  • Dynamics and metaprogramming

Rails Configuration

  • Anatomy of a Rails application
  • Rails naming conventions
  • Rails configuration files

Web Application Design Patterns

  • Model-View-Controller
  • Template engines

Models in Rails

  • Introduction to ActiveRecord
  • Mapping tables to classes
  • Working with database keys the Rails way
  • Basic database operations
  • Managing table associations
  • Aggregating data
  • Validating records
  • Programming transactions

Controllers in Rails

  • Introduction to ActionController
  • Mapping URLs to actions
  • Action methods
  • Chaining actions
  • Working with session state

Views in Rails

  • Introduction to ActionView
  • Working with view templates
  • Using layouts and components
  • View helper methods
  • Understanding links

Advanced Topics

  • Testing Rails applications
  • AJAX in Rails
  • Sending and receiving mail
  • Working with web services in Rails
  • Rails application security

Comments are closed.