Advancing With Rails

Advancing With Rails is a four-day Ruby on Rails course for people who have some Ruby and Rails experience and want to go to the next level. This course will 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!

  • Routing and REST
  • Ruby modules, classes, and methods
  • Ruby variables in detail
  • Ruby built-in classes
  • Ruby blocks, Procs, and methods
  • ActiveRecord optimizations
  • ActiveRecord assignments
  • Advanced associations
  • Deployment
  • Testing
  • Single-table inheritance
  • Caching
  • Plugins and add-ons
  • Writing and using ad hoc library code
  • Exploring the Rails source code

Back

Course Outline

  • Routing and REST
    • URL recognition
    • URL generation
    • Custom routes
    • Named routes
    • REST fundamentals
    • HTTP request methods and Rails requests
    • _url and _path named routes
    • Nested and polymorphic resources
  • Ruby modules, classes, and methods
    • Method lookup
    • Modules and classes
    • Singleton methods
  • Ruby variables in detail
    • Local, instance, class, global
  • Ruby built-in classes
    • Regexp, Range, File, Struct, and others
  • Ruby blocks, Procs, and methods
  • ActiveRecord optimizations
    • Eager loading
    • select and other limiters
    • Raw SQL
    • Collection proxies and laziness
    • Scoping
  • ActiveRecord assignments
    • Using plain attributes
    • Overriding setter methods
    • White/black-listing columns for assignment
  • Advanced associations
    • what you get for free
    • non-default naming
    • polymorphic
    • embellishing with methods
  • Deployment
    • subversion
    • capistrano
    • Vlad the Deployer
    • mongrel and mongrel clusters
    • Proxying from Apache and nginx
    • Issues in deployment
  • Testing
    • Unit/functional/integration
    • Acceptance testing with Selenium
    • Continuous feedback with autotest
  • Single-table inheritance
  • Caching
    • Page, action, and fragment caching
  • Plugins and add-ons
    • Plugin architecture
    • Writing plugins
    • Survey of useful plugins
  • Writing and using ad hoc library code
  • Exploring the Rails source code
    • Modifying and hooking into source code
    • alias_method_chain, field_error_proc, and other hooks