【发布时间】:2011-01-14 23:17:06
【问题描述】:
我正在开发一个文学社区网站。 (screenshot) 我正试图弄清楚当有人在他们发布到网站上的内容时,当有人在观看他们提交的新文学作品时如何通知用户,等等。
我试图弄清楚如何构建数据库来存储这些信息。我想出了两个可能的想法。
-
存储一个指向通知对象的链接,一个描述用户被通知的操作类型(新、更新等)的字段。这会产生复杂的显示代码,但这意味着我可以相当轻松地更改通知的工作方式。这也增加了我需要从数据库中提取的数据,除非我使用缓存字段将相关属性的散列转储到表中。
- notifiable_type
- notifiable_id
- user_id
- 动作
- notifiable_cache(可选,存储来自可通知对象的选定属性的哈希)
-
将通知视为电子邮件,然后将它们与主题和消息一起保存到数据库中。这导致了一个简单的视图,但一个复杂的模型,并阻止我轻松更改通知的工作方式。
- user_id
- 标题
- 留言
我正在寻找关于我上面列出的两个的其他想法和 cmets。
【问题讨论】:
-
可惜这个话题没有引起很多关注。你做出选择了吗?我只是好奇...
标签: ruby-on-rails database-design