我认为通知是它自己的资源,并且与用户模型有has_many, through
关系,并且连接表表示关联。
具有很多通知的用户是显而易见的,然后通知会有很多用户,因为会有许多与许多用户关联的标准化通知(评论通知,后续通知等)。
除此设置外,我不确定如何根据应用程序中的某些事件触发通知的创建。我也不确定如何设置路由 - 它是自己独立的资源还是嵌套在用户资源中?如果有人可以对此进行扩展,我会发现它非常有用。
最后,ajax民意调查可能会改善这样的功能。
可能有一些我遗漏的东西,所以请填写它以便它是一个很好的一般资源。
答案 0 :(得分:34)
所以一般要点:
1)通知是多态关联,因为评论可以有很多通知,用户可以有很多通知,“跟随”可以有很多通知等。
2)您可以拥有Model Observers,您可以在其中“观察”某些事件,例如创建新评论时。这将是你的触发器。
在路由方面,你真的不需要做任何超出常规的事情。您可能拥有的唯一路由是domain.com/notifications,其中显示所有通知。
通知表可能如下所示:
sender_id:integer,receiver_id:integer,notifiable_id:integer,notifiable_type:string
答案 1 :(得分:7)
对于通知系统,我个人更喜欢服务器推送技术。 Ryan Bates(Railscasts背后的声音)有great screen cast你可能想要观看
要触发针对特定事件的操作,请查看“观察员”,如提及@mike