Sorry for the delay -- I forgot to subscribe to the thread and didn't
realize I had responses until I checked manually.

I thought about STI, but it seems that I would have a very complex
table.  I did not realize, however, that I could include a bunch of
has_one statements -- I assumed that since an event would have a
particular subevent based on the event_type, that the has_one wouldn't
work.  Since it will (just have to check for nil and know which
event_type I'm working with), I think your second opinion would work.

Thanks!

On Aug 19, 3:49 pm, Colin Law <clan...@googlemail.com> wrote:
> On 19 August 2010 18:52, richardsugg <richards...@gmail.com> 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 rubyonrails-t...@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to