我有一个带有 PubSub 服务器(Faye)作为中间件的 Rails 应用程序。我有用于模型、视图和控制器的常用 Rails 结构,并且我有一些用于套接字通道的控制器。(提供通过FayeRails )
问题: 我需要在我的套接字控制器和我的通用控制器之间共享一个客户端列表。这是因为身份验证是通过 Rails 控制器完成的(所以我可以使用会话)..
通常我会把这种东西放在我的ApplicationController
所有继承的控制器和视图中,但是套接字控制器是从继承的,FayeRails::Controller
所以不是一个选项。我不知道这些控制器的实例去哪里了。另外,我无法编辑初始化,因为所有控制器都是由 Rails 和 FayeRails gem 自动设置的。我尝试使用全局变量,但感觉不对。我也一直在考虑 ActiveRecord,但是将快速变化的数据添加到数据库中感觉不对。最后我想到了一个类似于 ActiveRecord 的类,它包含列表,但这感觉和全球一样..
我真的想不出在这两个控制器之间共享客户端列表的任何其他选项。
这样做的好方法是什么?