851. Advanced Ruby on Rails
Advanced Ruby
on Rails is a course for people who have some Ruby and Rails experience and want
to go to the next level. Advanced Ruby on Rails has been developed to help you
understand why things work the way they do, along with helping you develop
specific skills and techniques. You won't just be repeating steps mechanically;
you'll understand Rails and understand how to keep advancing!
Prerequisites: Students should have some
Ruby and Rails experience.
Course Outline
1. Routing and REST
a. URL recognition
b. URL generation
c. Custom routes
d. Named routes
e. REST fundamentals
f. HTTP request methods and Rails
requests
g. _url and _path named routes
h. Nested and polymorphic
resources
2. Ruby modules, classes, and
methods
a. Method lookup
b. Modules and classes
c. Singleton methods
3. Ruby variables in detail
a. Local, instance, class, global
4. Ruby built-in classes
a. Regexp, Range, File, Struct,
and others
5. Ruby blocks, Procs, and
methods
6. ActiveRecord optimizations
a. Eager loading
b. select and other limiters
c. Raw SQL
d. Collection proxies and
laziness
e. Scoping
7. ActiveRecord assignments
a. Using plain attributes
b. Overriding setter methods
c. White/black-listing columns
for assignment
8. Advanced associations
a. what you get for free
b. non-default naming
c. polymorphic
d. embellishing with methods
9. Deployment
a. subversion
b. capistrano
c. Vlad the Deployer
d. mongrel and mongrel clusters
e. Proxying from Apache and nginx
f. Issues in deployment
10. Testing
a. Unit/functional/integration
b. Acceptance testing with
Selenium
c. Continuous feedback with
autotest
11. Single-table inheritance
12. Caching
a. Page, action, and fragment
caching
13. Plugins and add-ons
a. Plugin architecture
b. Writing plugins
c. Survey of useful plugins
14. Writing and using ad hoc
library code
15. Exploring the Rails source
code
a. Modifying and hooking into
source code
b. Alias_method_chain,
field_error_proc, and other hooks