back to all classes
Class Icon
Ruby on Rails II

Future Ruby on Rails rockstars - this is your class!

Ruby on Rails II Bootcamp is an intensive 5-day training course that addresses all the heavy duty Rails topics - like how Rails itself works, production deployment/scaling-type activities, and advanced tricks and tips with the framework itself.

Learn to utilize all features of the framework, and give back through plugins, gems, and contributing to source after the course.

What You’ll Learn

Upon completion of Ruby on Rails II, the student will be able to:

  • Understand how core components of Ruby on Rails work
  • Apply Ruby on Rails best practices
  • Understand basic and advanced features of ActiveRecord to model simple and complex relationships between data models
  • Understand basic and advanced features of ActionPack's ActionView to create DRY interfaces and reusable, clean views and layouts
  • Understand basic and advanced features of ActionPack's ActionController to create skinny controllers with degradable, RESTful interfaces
  • Apply RESTful principles to setup Resource-based web applications and Nested Resources with custom actions
  • Understand Test-Driven Development (TDD) using Unit Testing and RSpec
  • Create rich Ajax interfaces and be able to debug them effectively
  • Avoid Security pitfalls and deployment problems
  • Debug applications using breakpoints, logging and prototyping in an interactive console
  • Create and utilize Ruby on Rails generators, plugins, and Ruby libraries to quickly add extended functionality and features
  • Setup several different Production/Deployment scenarios

Ruby on Rails II SYLLABUS

Section Contents
Open ArrowOpen Ruby on Rails II Bootcamp
Ruby + Advanced Ruby
Arguments, hashes/arrays in depth, metaprogramming, ActiveSupport
Using Rails in a Team
Best practices, migration usage, setting up app, using source-control
Testing Best Practices
Test driven development, RSpec/behavior driven design
Design Decisions, the Rails Way
MVC in depth: fat model, skinny controller design
Routing + Advanced Routing
Paths and urls, named-routes, regexs, defaults
RESTful Design
Building RESTful interfaces, utilizing ActiveResource
Advanced ActiveRecord
Aggregations, polymorphism, STI, observers, acts_as_xxx
Advanced ActiveRecord Associations
Associations, proxy methods, association extensions
Forms and Handling Data
Building forms using form_for, form_tag, handling multiple models
Ajax Advanced Topics
Helpers, debugging w/ firebug, javascript debug consoles
Authentication
HTTP authorization, OpenID, acts_as_authenticated
Session Management
Switching from pstore to ARstore/SQLStore, memcache store
Mail Sending and Receiving
ActionMailer in depth, multi-part messages, attachments
Exception handling best practices
Logging, param filtering, exception notifier, bug tracking
Deployment
Setting up servers, capistrano, managing, production servers (tuning)
Backend Tasks and Considerations
Long-running tasks, periodic tasks, daemons
Benchmarking and Performance
HTML page caching, HTML fragment caching, sweepers, object memcaching
Security
SQL Injection, HTML Escaping, CSRF, logs, server security
Rails Plugins, Ruby Gems
Writing plugins, writing gems (setting up gem server), sharing libraries, writing your own acts_as_xxxx, Contributing to Rails
Real-world Databases
When to add indexes, analyzing queries, when to break into raw SQL, eager loading
Searching
Using SQL LIKE, field level, full-text search in database, then Ferret, Solr
Localization / Internationalization
i8n, L10n, Unicode, globalization
File Manipulation
Dealing with attachments / file uploads, image processing
Rails in the Real-World
Breaking down several real-world projects
REQUIREMENTS

Students should have a basic understanding of the Ruby language and Ruby on Rails. They should have completed some Ruby on Rails development, produced a Ruby on Rails application, or worked on one in a team.



Important Numbers

Important Telephone Numbers

For information or to enroll in a class in United States: (770) 817-6373
For information or to enroll in a class in Europe: +31 6 28 833 433