2017-02-12 12 views
0

У меня есть 4 модели, каждая из которых определена следующим образомСоздание класса из нескольких моделей - Рельсы

--Model/Table-- 
Competition 
Matches 
Goals 
Teams 

Эти 4 модели завершает ценность сезона данных футбольной лиги. Связь между этими таблицами уже определена. Теперь я хочу создать класс, в котором он собирает данные из всех 4 моделей и генерирует 1, новый класс. Нравится так:

class CompetitionSeason < ApplicationRecord 
    # Use data from all 4 models to construct a soccer season class 
end 

Это мое намерение, но я не уверен, что это лучшая практика для этого. Он чувствует ... неправильно на уровне Rails. Какова наилучшая практика для достижения этой цели?

спасибо.

+0

Что вы подразумеваете, объединив их вместе, что может означать много чего? – Iceman

+0

Я думаю, что «построить класс с использованием 4-х моделей» было бы лучшим способом рассказать об этом. Например: CompetitionSeason.Matches = массив модели соответствия, содержащий данные команды (модели) и целей (модели) – jaimeT

+0

Это очень похоже на работу для представления базы данных. – Iceman

ответ

0

Вы должны иметь еще одну модель под названием Season или некоторые из них, которым принадлежит (has_(one|many)) каждый из составляющих.

Я не уверен, что Competition есть.

Match может принадлежать либо Competition, либо непосредственно к Season. Я не понимаю, что такое Competition, поэтому я не могу сделать хорошую рекомендацию.

Goal должны принадлежать Match или Competition, а не непосредственно Season. Season все еще может иметь много голов через Match или Competition.

Team должен иметь контактную таблицу SeasonTeam.

 Смежные вопросы

  • Нет связанных вопросов^_^