【发布时间】:2013-04-18 05:50:08
【问题描述】:
我有一个带有 PubSub 服务器 (Faye) 作为中间件的 Rails 应用程序。我有用于模型、视图和控制器的常用 Rails 结构,并且有一些用于 Socket 通道的控制器。 .(FayeRails提供)
问题: 我需要在我的套接字控制器和我的通用控制器之间共享一个客户端列表。 这是因为身份验证是通过 Rails 控制器完成的(所以我可以使用会话)..
通常我会把这种东西放在我的ApplicationController 中,这样所有继承的控制器和视图都可以访问它,但是套接字控制器是从FayeRails::Controller 继承的,所以这不是一个选项。我不知道在哪里这些控制器的实例 go.. 另外,我无法编辑初始化,因为所有控制器都是由 Rails 和 FayeRails gem 自动设置的。我尝试使用全局变量,但感觉不对。我也一直在考虑 ActiveRecord,但是将快速变化的数据添加到数据库中感觉不对。最后我想到了一个类似于 ActiveRecord 的类,它包含列表,但这感觉和全局一样..
我真的想不出在这两个控制器之间共享客户端列表的任何其他选项..
这样做的好方法是什么?
【问题讨论】:
-
尝试过会话?或者也许是 Rails 缓存或 Redis?
-
我没有在 Faye 控制器中遇到过任何会话使用情况,也从未使用过 Redis 或 Rails 缓存,但如果这就是解决这些问题的方法,我一定会检查一下!我会回来告诉你他们是如何工作的。谢谢!
-
Redis 是要走的路!感谢您的支持!
标签: ruby-on-rails controllers faye data-sharing