Мастер регистрации пользователей на стороне сервера с аутентификацией Devise

Все плагины аутентификации, которые я видел, реализуют одностраничную регистрацию пользователя - пользователь вводит все свои поля, а затем они отправляются сразу. Так работает аутентификация Devise.

Бун теперь у нас есть требования сделать многостраничный мастер регистрации.

Реализовать это с помощью JQuery с публикацией на последней странице мастера было бы легко, если бы у нас не было требования, чтобы пользователь был создан на самой первой странице, а затем на других страницах должен предоставлять все больше и больше информации с сохранением после каждой отправки страницы.

Как бы вы предложили реализовать это в проекте, использующем аутентификацию Devise? Как это соотносится с процессом активации пользователя (я имею в виду отправку электронных писем с подтверждением учетной записи)?


person Paul    schedule 25.04.2012    source источник


Ответы (1)


Многошаговые формы не имеют ничего общего с используемым вами плагином аутентификации. Это зависит от того, как вы его интегрируете.

Сложность становится намного сложнее, поскольку у вас есть несколько запросов со страницы на страницу.
- Как сохранить данные?
- Когда я создаю модель базы данных?
- Должен ли я использовать скрытые поля для передачи значений со страницы на страницу или я должен вставлять их в сеанс?

Это все вопросы, которые возникают в какой-то момент, и вы должны попытаться разобраться с ними заранее.

Создание модели по первоначальному запросу имеет большой недостаток, заключающийся в том, что вы можете получить фиктивную запись в базе данных, что, очевидно, вам не нужно.

Например, вы можете создать временную модель, которую вы используете для сбора пользовательских данных, и в конце вы создаете свою настоящую пользовательскую модель, проходя разработку, на основе этой модели tmp и удаляете ее, когда закончите...

Райан Бейтс рассказывает в одном из своих скринкастов о многоступенчатых формах. http://railscasts.com/episodes/217-multistep-forms

может быть вам будет интересно посмотреть.

person mober    schedule 25.04.2012
comment
Я решил использовать отдельный контроллер регистрации, не защищенный Devise. - person Paul; 26.04.2012