Maybe I misunderstood your question. I think I get more of what you're trying to do now.
You have multiple types of contacts, for example: Normal Contact, Work Contact, School Contact. Each of those different types have certain fields related to them, correct?
If so, one way of doing it would be to create 3 models. Users, User Types, and User Data.
has_one :data, :through => :user_types, :class_name => :user_data
has_one :user, :through => :user_types
You might even be able to get away with this using only 2 models (users and user_data), but this is the first thing that came to my mind.
This way, you can have unlimited users, and user types. The user's type would link the user with their data. You would be able to access user data like so:
# Assuming the user_data model has a "first_name" method
@user = User.find(:id)
Let me know if that helped you at all or if you have more questions
Remember to edit your topic title and add "[SOLVED]" if your question has been answered!Follow me!