Процесс входа в систему с помощью Hotwire
В настоящее время я разрабатываю свое первое приложение с помощью Rails и Hotwire. Он включает в себя форму комментариев, видимую для всех пользователей. Когда пользователи, не прошедшие проверку подлинности, отправляют его, я хотел бы открыть форму входа (управляемую Devise) в модальном режиме поверх формы.
В настоящее время я придумал следующее решение, но оно кажется довольно хакерским, и мне интересно, думал ли кто-нибудь о более чистом решении для этого, вероятно, очень распространенного варианта использования?
- у меня есть
<turbo-frame id="modal>
в моем макете и моей форме входа - в
_form.html.erb
частично, я проверяю, вошел ли пользователь в систему, и если нет, я добавляюdata-turbo-frame="modal"
атрибут к форме. - В моем
create
действие, я проверяю, вошел ли пользователь в систему, и если нет, я перенаправляю его наnew_user_session_path
Опять же, это делает работу, но мне не нравится тот факт, что это требует изменений как в представлениях, так и в контроллере, что затрудняет масштабирование (на случай, если я захочу применить тот же поток к другим формам).
Большое спасибо!