ミドルウェアとして PubSub サーバー (Faye) を備えた Rails アプリケーションを持っています。モデル、ビュー、およびコントローラー用の通常の Rails 構造があり、ソケットチャネル用のコントローラーがいくつかあります。FayeRailsによる)
問題: ソケット コントローラと汎用コントローラの間でクライアント リストを共有する必要があります。これは、Rails コントローラーを介して認証が行われるためです (そのため、セッションを使用できます)。
通常、私はこの種のものを自分の中に入れて、ApplicationController
継承されたすべてのコントローラーとビューがアクセスできるようにしますが、ソケットコントローラーは継承されFayeRails::Controller
ているため、オプションではありません..これらのコントローラーのインスタンスがどこに行くのかわかりません..また、すべてのコントローラーが Rails と FayeRails gem によって自動的にセットアップされるため、初期化を編集できません。グローバルを使用してみましたが、それは間違っているように感じます..また、ActiveRecordについて考えていましたが、データベースに急速に変化するデータを追加するのは適切ではありません..最後に、リストですが、これはグローバルと同じように感じます..
これら 2 つのコントローラー間でクライアント リストを共有する他のオプションは考えられません。
これを行うための素晴らしくきれいな方法は何でしょうか?