@dimickh

Как создать многошаговую регистрацию используя Omniauth?

Возникла необходимость добавить вход/регистрацию через omniauth, но после входа пользователь должен заполнить свой профиль.
Общая схема такая: пользователь логинится на сайте через omniauth > если он заходит в первый раз то ему показывается форма с дополнительными полями > после заполнения полей пользователь жмет кнопку регистрации и только теперь создается новая запись в бд.
  • Вопрос задан
  • 231 просмотр
Решения вопроса 1
@CapeRatel
Делаешь запрос. Получаешь данные.
Проверяешь.
Если пользователь первый раз у тебя появился, то рендеришь из твоего экшена ему форму, например:
render: 'путь до вьюхи/again_form'
В этой форме он вводит еще данные.
Создаешь экшен принимающий эту форму и принимаешь данные. И так далее. Рендери ему хоть тысячу вьюх.
Если он ушел на пол пути до того, как заполнил все что нужно, можно повесить проверку например в application_controller на данные текущего юзера и заполнено ли у него все или нет. Исходя из логики рендеришь нужную форму.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
viktorvsk
@viktorvsk
И? Куда добавить поля? В Omniauth полей никаких нет. В модель user`a добавляйте, что хотите. После аутентификации через провайдера перенаправляйте пользователя тоже куда хотите
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы