During that part of the presentation, I was quite curious what the database generated underneath looks like for those polymorphic relationships. From the example in the presentation, how does it represent "Taggings"? Does it actually create:
Person Message | | PersonTaggings MessageTaggings (person_id, tag_id) (message_id, tag_id) \ / Tag
And then Tag.taggings.collect knows all the intermediate tables to combine?
Guess I have to dig into the ActiveRecord code.