Отслеживать прочитанные / непрочитанные сообщения пользователя с таблицей MessageClicks? - PullRequest
4 голосов
/ 13 октября 2009

Я пытаюсь внедрить простую систему входящих сообщений для пользователей моего приложения, чтобы они могли отправлять основные сообщения друг другу - как во многих системах форумов.

Если User has_many :messages, как мне отслеживать и уведомлять пользователя о непрочитанных сообщениях с момента их последнего прочтения?

Я думаю, что клики по ссылке на экран Messages должны быть записаны в отдельной таблице (MessagesClicks).

Это лучший подход здесь?

Итак, я проверяю таблицу MessagesClicks, чтобы увидеть, появились ли какие-либо новые сообщения с момента последнего нажатия этой ссылки - на основе поля last_clicked или updated_at .

1 Ответ

6 голосов
/ 13 октября 2009

Я бы отслеживал, когда сообщение было прочитано в самом сообщении со значением по умолчанию, равным нулю.

Если у пользователя есть какие-либо сообщения со значением dateRead, равным нулю, у них есть непрочитанные сообщения.

При отображении сообщения пользователю на экране «Сообщения» обновите свойство dateRead сообщения с нуля до настоящего момента.

...