Rails: The Sharp Parts. A Polymorphic Type Is Not a Foreign Key

Polymorphic associations store a relationship as a class name in a string with no foreign key. That has unintended consequences which may not be obvious, and this article covers five of them.