У меня есть следующая ситуация в приложении Ruby on Rails:
- пользователь заполняет форму (комментарий), получает страницу со всевозможным кодом, где он может выбрать метод аутентификации (openId,Twitter, Facebook и т. П.).
- заполняется omniauth, при успешном возвращении пользователь получает сеанс и обрабатывает данные начальной формы (комментарий опубликован).
Iвсе работает, за исключением того, что моя логика распространена, как я считаю, безобразно;SessionsController
теперь создает комментарий об успешной аутентификации.
Какой хороший способ отделить подобные вещи?Должен ли модуль Comment
подключаться (слушать) к SessionsController?Или SessionsController должен просто вызвать некоторые методы класса CommentsController
или Comment
, чтобы сохранить комментарий об успешной аутентификации?Есть ли какие-то шаблоны, с которыми я могу ознакомиться, которые решают подобные проблемы?