Hi, I''ve just implemented the STI pattern in a Rails project. I have created two tables, one being the main STI table (partners) and the other (partner_types) containing metadata about the STI relationships. The necessity for the STI pattern comes from needing to collect slightly different Partner data depending on the Partner Type. The first step on the data entry form is to select the Partner Type from a list, which is populated from the partner_types table. In the controller, I''m getting the @partner_type that''s been selected and using a field in the table to obtain the type of Partner to instantiate. I use eval "" to instantiate the relevant Partner. This works fine at present but I''m wondering whether this is a good approach to take? One niggle is that I now have duplication between the names of the model classes, the type stored in the STI Table (Partner) type column and the type stored alongside a description in the Partner_Types table. Any thoughts would be much appreciated. Chris