Как вызвать методы devise sign_in и sign_out для devise из другого контроллера, отличного от devise?

У меня есть приложение Ruby on Rails 3.0.7 и моя пользовательская аутентификация с помощью devise , но у меня есть альтернативный метод зарегистрироваться и войти в систему , я разрешаю своим пользователям регистрироваться, используя свою учетную запись Facebook , а затем сохраняю эту информацию для входа в таблица my users та же самая, что devise использует для регистрации и входа пользователей.

Шаги

  1. ✔ Пользователь нажимает кнопку Facebook.
  2. ✔ Я сохраняю его информацию (имя и адрес электронной почты, извлеченные из Koala ). Я даю пользователю общий пароль.
  3. ☐ Войдите в систему этого нового пользователя с помощью devise.
  4. ✔ Перенаправить на мой основной контроллер.

Мне просто не хватает третьего шага, потому что я хочу продолжать использовать помощник current_user и помощник user_signed_in? .

Итак, как мне сообщить devise, что должен автоматически входить в систему этого пользователя с другого моего контроллера?

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

14
задан Community 23 May 2017 в 11:59
поделиться