I have a Field class: class Field < ActiveRecord::Base belongs_to :field_type end with it''s table: fields: id field_type_id name ordering every field has a type class FieldType < ActiveRecord::Base end stored in the field_types table field_types: id name class_name for each field type, there''s a subclass of Field that do whatever special things class BooleanField < Field def get_stuff return "I am a Boolen Field!" end end Is there any way, when I do Field.find(), that I can return fields that are all instances of the proper Field subclasses? I know this could be done using single table inheritance, but I like to have the classes in a seperate types table and use foreign keys to to ensure there are no invalid types. I also expect to have 10-20 different types, all with different attributes that need to be stored in the database, so I''d rather not add 20 columns to the fields table. I would rather store the attributes as name-value pairs in a seperate table. Any ideas would be greatly appreciated. -- Posted via http://www.ruby-forum.com/.