Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 您将如何在RoR中创建类似于on SO或Facebook的通知系统?_Ruby On Rails_Ruby_Ruby On Rails 3_Notifications_Push Notification - Fatal编程技术网

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,但不想使用观察器,因此升级起来更容易。这是另一篇关于替代方案的帖子