| |
| |
| |
|
|
|
Building Web Applications with Ruby on Rails |
|
Duration:
4 Days |
|
|
This course is for developers who have a background in web application programming and
want to learn about the Ruby on Rails web applications framework.
| |
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 aobut your web application in configuration files, largely eliminating the
XML metadata bloat that is common in other web frameworks.
This 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
|
|
Course Outline
|
Rails for the Impatient
- A 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
|
|
|
|