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. 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).
Thanks!