Ruby on rails 您将如何在RoR中创建类似于on SO或Facebook的通知系统?
我认为通知将是它自己的资源,通过与用户模型的关系,通过一个表示关联的联接表,通知将具有Ruby on rails 您将如何在RoR中创建类似于on SO或Facebook的通知系统?,ruby-on-rails,ruby,ruby-on-rails-3,notifications,push-notification,Ruby On Rails,Ruby,Ruby On Rails 3,Notifications,Push Notification,我认为通知将是它自己的资源,通过与用户模型的关系,通过一个表示关联的联接表,通知将具有has\u many 一个用户有许多通知是显而易见的,然后一个通知将有许多用户,因为将有许多标准化的通知(注释通知、后续通知等)与许多用户关联 除此之外,我不确定如何根据应用程序中的某些事件触发通知的创建。我也有点不确定我需要如何设置路由-是它自己的独立资源还是嵌套在用户资源中?如果有人能在这方面做些扩展,我会觉得很有帮助 最后,ajax轮询可能会改进这种特性 我可能遗漏了一些东西,因此请填写这张表,以便它是一
has\u many
一个用户有许多通知是显而易见的,然后一个通知将有许多用户,因为将有许多标准化的通知(注释通知、后续通知等)与许多用户关联
除此之外,我不确定如何根据应用程序中的某些事件触发通知的创建。我也有点不确定我需要如何设置路由-是它自己的独立资源还是嵌套在用户资源中?如果有人能在这方面做些扩展,我会觉得很有帮助
最后,ajax轮询可能会改进这种特性
我可能遗漏了一些东西,因此请填写这张表,以便它是一个很好的通用资源。因此一般要点:
1) 通知将是一个多态关联,因为注释可以有许多通知,用户可以有许多通知,“跟随者”可以有许多通知等
2) 您可以拥有,在这里您可以“观察”某些事件,例如创建新注释时。这是你的触发器
在路由方面,你真的不需要做任何不正常的事情。您可能拥有的唯一路由是domain.com/notifications,其中显示所有通知
通知表可能如下所示:
发送方\标识:整数,接收方\标识:整数,应通知\标识:整数,应通知\类型:字符串
对于通知系统,我个人更喜欢服务器推送技术。Ryan Bates(Railscasts背后的声音)有一个你可能想看的视频
对于特定事件的触发操作,请查看@mike提到的“观察者”
发送者和接收者究竟是什么?它们将是自己的资源?发送者和接收者都将是用户的外键。说实话,这真的没什么大不了的。我链接到的那个页面和这个:是您真正需要的。我遇到了这个链接:只是想指出,观察家们已经被抹黑了,在Rails 4中不再可用。我仍然使用Rails3,但不想使用观察器,因此升级起来更容易。这是另一篇关于替代方案的帖子