Хранилище ключей-значений или SQL в этом отношении очень слабо связаны с вашей реальной проблемой.Это просто разные подходы к тому, как ваши данные хранятся в бэкэнде.Использование так или иначе не имеет большого значения в вашем случае.
Что касается настоящего вопроса, я думаю, что он слишком общий для SO.Многоступенчатые формы имеют тенденцию сильно отличаться друг от друга.Не существует «одного хорошего способа» сделать это.
Причина, по которой вы не получаете никаких ответов на этот вопрос, возможно, заключается в том, что не задан реальный вопрос.Что вы должны сделать, это попытаться выполнить реальную реализацию и опубликовать более конкретные вопросы, когда куда-то попадаете.
В конце - я считаю, что многоэтапные формы на самом деле не лучшая идея, когда дело доходит до удобства использования.Конечно, есть веские причины использовать их в некоторых случаях, но вам стоит подумать дважды, есть ли способ избежать таковых в вашем случае.
Одна из проблем, с которыми я столкнулся недавно с формами и загрузками, былапроверка (это не относится конкретно к Multi / Single step).Обычно, когда проверка не проходит, пользователь должен повторно загрузить файл.К счастью, в вашем случае это не большая проблема, так как Carrierwave обрабатывает это автоматически.