Confused setting up relationships...

Hi everyone,

I am working on a new project which will implement a bracket based
tournament system, like the NCAA finals. The entrants will be
assigned to brackets, users will vote, the winner goes on, the looser
goes home. :slight_smile: I am having a little difficulty setting up the
relationships for my objects.

So far I have the following objects in mind...

Tournament = The overall container that will define the parameters of
the tournament.
Round = One of the individual one-on-one contests between two teams.
Entry = Details on the team itself.
Vote = User votes cast during each round

The associations I have in mind are:

Tournament <<
has_many :rounds

Round <<
belongs_to :tournament
has_many :entries

Entry <<
belongs_to :round
has_many :votes

Vote <<
belongs_to :entry

So far so good... but I also need to associate the vote with the
round. Each entry will have lots of votes, but the votes from one
round shouldn't count towards the next round. I thought about:

Round << has_many :votes, :through => :entries

But that didn't seem quite right.

Any help provided will be greatly appreciated. As an aside, does
anyone know of any good resources (on-line or print) for getting my
head around this kind of thinking? For some reason I just never seem
to get my associations right, and I think it has more to do with not
having the fundamentals down (unspecific to rails).


Hi Andrew,

Just a quick thought...