Если в вашем сообщении есть @ user1, @ user2 и @ user3, упомянутый процессор проанализирует user1, user2, user3, найдет пользователей с именем пользователя [user1, user2, user3] и затем создаст упоминания в базе данных после каждого из упоминается, что он будет выполнять обратный вызов после того, как в этом примере будет отправлено электронное письмо с уведомлением об упоминании между постом и пользователем.
м приложении я хочу уведомить пользователя, когда он / она упоминается в комментарии или посте.
Дескриптор пользователя@user_name
, похожий наfacebook.
Таблица базы данных для упоминаний выглядит так:
Mention
mentioned_by: user_id (foreign key)
user_mentioned: user_id (foreign key)
comment_id: (foreign key)
post_id: (foreign key)
Я не могу найти способ реализовать это все же. Как это делают Facebook / Twitter?
То, что я решил пойти, было использоватьActiveRecord callbacks/ Observer design pattern
и всякий раз, когда новый комментарий / сообщение сохраняется в базе данных, я могу просмотреть содержимое сообщения / комментария, найти любые упоминания и затем выполнить уведомления по мере необходимости.
Я чувствую, что есть некоторые недостающие части, и я не понимаю это правильно.
Это лучший способ сделать это?