850.
Introduction to Ruby on Rails
Learn
foundational Ruby and the theory and practice of Rails in this hands-on course.
The instructor will coach you in Ruby language constructs and the entire Rails
development stack: domain modeling with ActiveRecord, controller and view implementation,
testing, database migrations, data validation techniques, AJAX fundamentals, etc. Students will learn
how to install, to program in Ruby and use Ajax in Ruby on Rails applications.
Prerequisites: To get the most out of the
Introduction on Ruby on Rails course, you should have a solid understanding of
HTML.
Course Outline
1. Rails Fundamentals
a. Rails overview and walkthrough
b. The Model-View-Controller
framework architecture
c. Creating a new Rails
application
d. Rails request-handling and URL
parsing
e. Development-mode deployment
f. Generating models and
controllers
2. Basic Ruby Skills and Tools
a. Objects and methods
b. Scalars: strings, numbers,
dates and times
c. Collections: arrays, hashes
d. Classes and modules
e. Control flow and conditionals
f. Interactive Ruby (IRB)
g. Attributes
h. Iterators
i. Exception and error-handling
3. Database Creation and
Configuration
a. Basic MySQL creation commands
b. Configuring database.yml
c. Automatically-generated
migrations
d. Custom migrations
4. Working with ActiveRecord
a. Modeling a domain
b. ActiveRecord models and Ruby classes
c. ActiveRecord associations
d. Writing Rails-friendly SQL
e. Data validation techniques
5. ActionView Essentials
a. RHTML templates
b. Embedded Ruby (ERb)
c. Partial templates
d. Built-in and custom helper
methods
e. Layouts
6. Using ActionController
a. The session and flash
facilities
b. Planning and writing actions
c. Controller/view communication
via instance variables
d. The special params hash
e. Filter methods for specific
actions
f. Redirecting actions
g. Explicit rendering commands
7. Working with Forms in Rails
a. ActionPack form helper methods
b. "Magic" form-field population
c. Processing forms
d. Hash-based batch processing of
CGI data
8. Session management and
security
a. The session hash
b. Password deployment and
encryption
c. Avoiding SQL injection
9. Testing in Ruby and Rails
a. Ruby's Test/Unit framework
b. Writing fixtures
c. Unit tests
d. Functional test
e. Integration tests
10. Ajax, JavaScript, and
RJS
a. JavaScript facilities and
support in Rails
b. Basic DOM updating with Ajax calls
c. RJS templates
d. Graceful degradation of Ajax