gpt4 book ai didi

ruby-on-rails - 将通知存储给用户的数据库设计

转载 作者:行者123 更新时间:2023-12-03 09:09:57 26 4
gpt4 key购买 nike

我在一个文学社区网站上工作。 ( screenshot ) 我试图弄清楚如何在有人评论他们发布到网站的内容时通知用户,当他们正在观看的人提交新的文学作品等。

我试图弄清楚如何构建数据库来存储这些信息。我想出了两个可能的想法。

  • 存储指向可通知对象的链接,该字段描述了用户被通知的操作类型(新的、更新的等)。这会产生复杂的显示代码,但这意味着我可以相当轻松地更改通知的工作方式。这也会增加我需要从数据库中提取的数据,除非我使用缓存字段将相关属性的散列转储到表中。
  • notifiable_type
  • notifiable_id
  • 用户 ID
  • 行动
  • notifiable_cache(可选,存储来自通知对象的选定属性的散列)
  • 将通知视为电子邮件,只需将它们与主题和消息一起保存到数据库中。这导致一个简单的 View 但一个复杂的模型,并阻止我轻松更改通知的工作方式。
  • 用户 ID
  • 标题
  • 留言

  • 我正在寻找关于我上面列出的两个的其他想法和评论。

    最佳答案

    我也在做一个使用通知的项目,我不确定你现在是否已经解决了你的问题,或者它是否有帮助,但这是我使用的表结构:

    Notifications:  
    - ID (PK)
    - recipient_id
    - sender_id
    - activity_type ('comment on a post', 'sent friend request', etc)
    - object_type ('post', 'photo', etc)
    - object_url (to provide a direct link to the object of the notification in HTML)
    - time_sent
    - is_unread

    关于ruby-on-rails - 将通知存储给用户的数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2231886/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com