У меня есть две модели Devise: User и Business; Я хотел бы, чтобы оба могли войти в систему, используя единую форму входа. Я использую backbone js, и у меня есть настроенное представление, поэтому представление не имеет значения. Для входа в систему используется запрос ajax, он работает для пользователей, как и ожидалось, но не для предприятий.
Я искал в Google и наткнулся на несколько решений, в которых упоминается использование STI для решения этой проблемы, но проект уже сделан, и я не могу сейчас внести такое изменение. Я думал о том, чтобы переопределить контроллер сеансов Devise и:
- Проверьте, является ли данный адрес электронной почты пользователем, а затем аутентифицируйте пользователя с помощью Warden.
- Если пользователь с таким адресом электронной почты не найден, выполните аутентификацию с помощью бизнес-модели с помощью Warden.
Я не могу понять, как изменить код для достижения вышеперечисленного, я не знаю, как работает надзиратель и какие параметры мне нужно настроить для достижения вышеперечисленного, какие функции нужно вызвать. Может ли кто-нибудь указать мне в правильном направлении или привести пример того, как мне двигаться вперед с этим.
Спасибо.