Я намагаюся змоделювати об'єкт іспиту і хотів би отримати ваші думки.
У іспиті існує декілька типів запитань, таких як вибір множини (MC), короткий запит (SQ), True або False (TF) і т.д.
Кожен тип запитань має свої власні дані, наприклад: (MC) потребують питання, потенційні відповіді, правильна відповідь і (SQ) потребують лише питання.
Спочатку я думав просто пройти іспитмодель та модель запитання (з успадкуванням по одній таблиці) для іншого типу запитань. Однак, оскільки різні типи запитань поводяться по-різному і мають різні атрибути даних, я не думаю, що буде працювати.
Те, що я маю на увазі зараз, це мати об'єкт іспиту, який has_many об'єкт "ExamQuestion", який має атрибути (exam_id, question_type, question_id).
Я думаю, що це буде працювати, але нічого не подобається тому факту, що я повинен мати стовпець, як "question_type" в "поперечному перерізі" таблиці, як "ExamQuestion". Наприклад, запит може стати потворним.
Хто-небудь бачить кращий спосіб зробити це?
Дякую!
Відповіді:
0 для відповіді № 1Якщо ви використовуєте звичайне модельне успадкування, як це працює за замовчуванням, хоча (STI: single-table inheritance) - ви не маєте справу з ним вручну.
Дивіться тут деякі відомості про MTI, або цей попередній відповідь на питання SO.
0 для відповіді № 2
Я вважаю, що цей пост може дати вам деякі ідеї в одному підході, який можна використати для вирішення цієї проблеми. Ви можете перевірити мою відповідь там, щоб побачити, якщо це допомагає.
Моделювання успадкування з ORM в Ruby Rails
Чи означає це, що ви шукаєте, або вам потрібно щось інше?