Я попытаюсь объяснить это по-другому, так что это имеет больше смысла. В моей системе есть курсы, которые состоят из шагов. Есть много типов шагов: видео, викторина, текст, опрос ... и т. Д. Каждый из этих шагов разделяет общие данные, такие как заголовок, сводка, клиент и позиция. Но каждый шаг имеет совершенно другую модель для своих данных. В шаге викторины есть много разных таблиц и полей, где шаг Текст, на самом деле, имеет только одно дополнительное поле. Поэтому я не думаю, что наследование одной таблицы работает.
Но проблема возникает, когда я хочу просмотреть все шаги одновременно и отобразить и изменить ссылку.
Поскольку у меня разные контроллеры для каждого типа шага, я не хочу делать что-то подобное в моем контроллере:
if @step.type=="Quiz"
edit_step_quiz_path(@step.getSpecificStepObject())
elsif @step.type == "Text"
edit_step_text_path(@step.getSpecificStepObject())
elsif @step.type=="Video"
edit_step_video_path(@step.getSpecificStepObject())
end
Должен ли я вместо этого иметь метод редактирования моего основного "шагового" контроллера, выполнить логику и перенаправить в соответствующее место для редактирования, чтобы мой взгляд был чистым?