На ваш вопрос немного сложно ответить без дополнительной информации, и верным ответом будет подробное руководство (например, Railscast), а не ответ SO, но вот несколько советов, которые помогут вам в этом.
Существует два основных подхода к многоэтапным формам:
Использование Javascript для отображения формы по битам
Создание отдельных представлений и использование create
/ update
или аналогичный для маршрутизации пользователя от одного к следующему.
У каждого метода есть свои преимущества, в зависимости от того, хотите ли вы поддерживать JavaScript, и каковы ваши требованияо сохранении данных между разделами.
Преимущества 1
- Ускорение перехода пользователя от раздела к разделу (скрытие / отображение javascript происходит мгновенно)
- Данные легко доступны по желанию пользователячтобы обратиться к предыдущему разделу
- Упрощенные действия контроллера
Недостатки 1
- Не будет работать для пользователей, которые не работают с JavaScript (и не прогрессивноздесь действительно возможно усовершенствование, за исключением отображения формы в виде огромного куска).
- Потребуется предоставить навигацию на основе JavaScript для перехода от раздела к разделу (только недостаток, если вы новичок в .js)
- Потребуется AJAX, если вы хотите сохранить информацию о пользователе между этапами.
- Без AJAX и javascript пользователь рискует потерять много записей, если пользователь случайно нажал кнопку назад.кнопка и т. д.