/ / Рейки моделювання обстеження об'єкта - ruby-on-rails, ruby

Рельєф моделювання екзамен об'єкт - рубін на рельсах, рубінові

Я намагаюся змоделювати об'єкт іспиту і хотів би отримати ваші думки.

У іспиті існує декілька типів запитань, таких як вибір множини (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

Чи означає це, що ви шукаєте, або вам потрібно щось інше?