The association name is built base on the model name, which is the class name, not the table name.
When generating the superclass class object before the object has been persisted,
ensure that a back reference is assigned, in case the superclass object is made
persisted.

This is a case which can happen when there is a 1:many relationship between some
other model and the superclass. The old code would only persist the superclass
and the derived class would not be persisted (because the relationship is one-way)
Merge branch 'lowjoel-fix-association-name-with-modules'
Merge branch 'lowjoel-fix-superclass-save'