У меня есть модель, Lesson
, которая has_many :lesson_objectives
. Каждый Lesson
может иметь неограниченное количество LessonObjectives
-. Который где часть проблемы приходит вРельсы: Динамически Генерирующие элементы формы для отношения has_many
Я планирую интегрировать контроллеры/представления для этих двух моделей вместе - такие, что всякий раз, когда кто-то хочет создать Lesson
они также должны предоставить для этого все LessonObjective
. Я хотел бы получить решение, в котором пользователю будут представлены, возможно, два поля по умолчанию, например «Objecive 1» и «Objective 2», а затем любые последующие поля будут добавляться «на лету», как пользователь вводит. Когда пользователь заполняет «Objective n», автоматически появляется поле «Objective n + 1».
Однако я не уверен в двух вещах.
Лучший способ добавить это поведение в представления. Это, вероятно, потребует много jQuery, и я не уверен в лучших практиках. Например, что, если пользователь удаляет «Objecive 5», а затем «Objective 6» нужно перетасовать, чтобы заполнить «Objective 5»?
Как можно настроить поля формы (имена, идентификаторы), чтобы Rails понимал поведение и сохранял данные без нарушения правил рельсов и сохранения RESTful и DRY.
Если драгоценный камень может помочь, не стесняйтесь предлагать его! Я использовал SimpleForm и несколько других.
Спасибо!
Спасибо за ваш ответ, он многое очистил для меня. Будет ли «Урок [LessonObjective] [1]», «Lesson [LessonObjective] [2]» - это соглашение об именовании формы для частичных полей - чтобы рельсы понимали взаимосвязь? – Kieran
просто убедитесь, что целочисленные значения являются фактическими значениями id для объектов LessonObjective, последовательность (1,2,3 ..) является искусственной и создается представлением. – RadBrad