使用MessageClicks表跟踪已读/未读的用户消息?

我正在尝试为我的应用程序的用户实现一个简单的收件箱系统 ,以便可以相互发送基本消息 – 就像在许多论坛系统中一样。

如果User has_many :messages ,我如何跟踪并通知用户自上次阅读以来未读的消息?

我认为点击Messages屏幕的链接需要记录在一个单独的表( MessagesClicks )中。

这是最好的方法吗?

那么我检查MessagesClicks表以查看自上次链接被点击以来是否有任何新消息 – 基于last_clickedupdated_at字段

我会跟踪消息在消息本身上读取的时间,默认值为null。

如果用户具有dateRead值为null的任何Messages,则它们具有未读消息。

在“消息”屏幕上向用户显示消息时,请将消息的dateRead属性从null更新为now。