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.

