В моем веб-приложении есть зарегистрированные пользователи, а также статьи, посты в блогах и сплетни.
Для всех этих ресурсов у меня есть полиморфная модель комментариев, которая приведена ниже.
id content commentable_id commentable_type user_id created_at updated_at
1 Frist comment 2 Article 1 ....
2 Second comment 3 Post 2 .....
Так что для каждого комментируемого ресурса у меня есть форма комментария внизу комментируемого ресурса, чтобы пользователи могли комментировать.
Я хочу установить флажок, чтобы при отправке комментария пользователи получали уведомление, будь то в папке «Входящие» или по электронной почте, поскольку оно уже есть при регистрации пользователя, когда другие новые комментарии добавляются позже.
Я хочу, чтобы у меня была какая-то модель, например Уведомления, где я мог бы хранить commentable_type, commentable_id и user_id (кому следует отправлять уведомление, если есть какой-либо новый комментарий, созданный с совпадающими комментарием и пользователем?
Как я могу реализовать связь между Комментарием и Уведомлением? Для проверяющей части, если есть какая-либо подписка на конкретный комментируемый ресурс, создайте CommentObserver с ловушкой after_create, чтобы инициализировать поиск и отправлять уведомления, если есть какая-либо соответствующая запись.
Но я не понимаю, как будут выглядеть ассоциация, модель, контроллер и представления для достижения этой цели? Поскольку модель комментариев уже полиморфна, могу ли я создать модель уведомлений как полиморфную ??