I just watched the EnvyCast Advanced ActiveRecord screencast and even though it's a few months old it's still great stuff. Jason and Gregg do a nice tour of the various AR topics (STI, complicated includes, bulk data loads, etc) and they give enough detail to make each section useful. Usually I delete a screencast after I've watched it, but I think I'll keep this one around and watch it again in a few weeks just to make sure everything sank in.
The only nit I would pick is that at one point they refer to STI returning an instance of the desired subclass as "casting"; I think that's not quite what's happening there. The object isn't being implicitly cast to another type; rather, the object is created as a certain type (
Film) and then we're calling the
class method on it. Actually... I'm not sure if you _can_ cast stuff in Ruby... some classes can convert themselves to a different type (via
to_s or whatever), but that's a conversion, not a cast.