Henry Happ wrote:
> 
> A more concrete example would be, say, that for a school, a contact can
> be an inquiry, an applicant, a student, a teacher, a mentor, etc.  In
> this scenario, a person could be a student and a mentor at the same
> time.  Data is collected for applicants and when they are approved, they
> become a student (their application data is retained).  A student has
> other specific information to be collected and can be linked to other
> data in the system.
> 
> TIA.

My $0.02:

I'd say that you have one main "generic" model (Person), and several 
other models that are related to a person, but not quite instances of a 
person such as STI would imply, as a person could be multiple things at 
once.

Each of these other related models has their own set of unique 
information (prospect information, application data, standardized test 
scores, current schedule, academic records, teaching schedule, etc) that 
shouldn't be mashed together, to say nothing of the temporal nature of 
being a student, or a teacher, or a mentor (you could be some of these 
things at the same time, or repeated over distinct instances of time).

But everyone has a name, one or more addresses, emails, phones, etc that 
would be an attribute of a person (from the application point of view). 
Common attributes go in the generic person, domain specific (student, 
teacher, applicant, prospect) attributes go in a related table linked to 
the Person.
-- 
Posted via http://www.ruby-forum.com/.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to