Basic has_many question

The link that connects an instance of 4 players to a particular game is called a Match. Different sports have different names for it, in cricket it is a Test Match, in tennis it is a Match. So use the terminology that is used in your foosball domain.

All the relevant data for that particular Match will go into that table, for instance the stadium name, date of the game, whether the Match was sold out etc. This is in addition to the foreign keys that connect the other two classes.

You will have this association table with just the foreign keys if your app does not need any other data mentioned above.