Мне недавно пришлось смоделировать почти такую же ситуацию
У меня есть опрос, в котором есть n вопросов, относящихся к опросу.
В опросе есть n ответов (в которых есть те же n вопросов черезопрос, к которому он принадлежит)
У меня есть модель ответа, которая относится к ответу и вопросу.
Итак, я могу создать опрос с вопросами.Чтобы люди заполнили опрос, я создаю ответ, использую вопросы из опроса, к которому он принадлежит, и прикрепляет ответы к вопросу и ответу, чтобы я мог просматривать все на основе экземпляра опроса.
В настоящее время моделируются различные типы вопросов, поэтому пока это работает только для простого ввода строки.
Кстати, используя DataMapper