Задать вопрос
@dimickh

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

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

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

Похожие вопросы
OTKLIK POWER Москва
от 80 000 до 150 000 ₽
Netwrk Буэнос-Айрес
от 5 000 до 7 500 $
от 6 000 до 8 000 $