On 19 August 2010 18:52, richardsugg <[email protected]> wrote:
> I am implemented a simple project management application.  Each
> project has various events, and each event can be a different type.
> Some event information is common, such as name, start date, close
> date, and comments.  I have a projects table which has_many events.
> My plan is to have several sub-event tables, like event_get_access
> which will contain an event_id field to link it to table events as
> well as information specific to a "get access" event (remote access,
> username, passwords, etc).  Another event type might be "upgrade"
> which stores information about the server to be upgraded, etc.
>
> So I have:
> * a project which has_many events
> * events which belongs_to :project
> * sub-events which belong_to :event
>
> How do the subevents relate to event?  An event will never have more
> than one subevent, but it may not have any of a particular subevent.

Have you looked at Single Table Inheritance, which would allow
multiple types of event all in one table (rather than have subevents
of different types)?

Otherwise I think you could have
Event
has_one :sub_event_type_one
has_one :sub_event_type_two
and so on.

Then
SubEventTypeOne
belongs_to :event
etc.

It does not matter if a particular event does not have a particular
type of subevent, if you try to access event.sub_event_type_one and it
does not have one then you will get nil

Colin

-- 
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