如何访问当前的Rack::Session实现

4
我正在开发一个gem,需要不仅读取和写入当前会话,还要与其他“链接”会话交互。目前,每当我需要更新当前会话以外的会话时,我都会硬编码读取和写入到我们在rails和rack应用程序中使用的基础会话存储中。但是,为了将解决方案移植到其他会话实现中,需要采用更通用的方法。
在Rails应用程序中,我可以查看来确定会话存储实现,并实例化一个新实例以读取和写入超出当前会话的会话。生成另一个会话存储实例似乎有点低效,但它似乎确实有效。
然而,我无法找到任何通过Rack应用程序查询当前会话存储的方法。和没有提供任何信息。
最好的解决方案是访问已经实例化的Rack::Session Rack app。我不确定如何查询哪个中间件正在运行以及哪个是当前的Rack::Session实现(只需检查哪个是的子级即可?)。
如果您有查询中间件或其他建议的技巧,将不胜感激。
1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接