В моем представлении (Лига) Я хочу перечислить все матчи и отметить матч в том виде, в каком он играл, в выигрышной команде или в матче в качестве галстука.Получение победителя матча - путь рельсов?
Чтобы узнать, является ли это галстуком или кто победитель, я должен проверить счет каждого противника. Где я буду делать эти вычисления? просмотреть помощник?, масштаб модели?
Моя идея состоит в том, чтобы иметь три функции, которые проверяют каждый матч, когда я перечисляю совпадения:
match.played? -> true/false
match.tie? -> true/false
match.winner? -> team_id с наибольшим счетом.
базы данных (PostgreSQL)
Матчи
id | league_id | date
---+-----------+----------
1 | 1 | 2016-03-21 21:00:00
2 | 1 | 2016-03-22 09:00:00
...
Противники (оценка равна нулю, если не играл)
id | match_id | team_id | score
---+----------+---------+--------
1 | 1 | 1 | 0
2 | 1 | 2 | 1
3 | 2 | 3 | 1
4 | 2 | 4 | 1
4 | 3 | 1 |
4 | 3 | 2 |
....