Ruby on rails 如何从会话\u id加载Rails会话?

Ruby on rails 如何从会话\u id加载Rails会话?,ruby-on-rails,session,cookies,ruby-on-rails-4,Ruby On Rails,Session,Cookies,Ruby On Rails 4,我正在应用程序中使用MyApp::Application.config.session\u store:active\u record\u store将会话存储在数据库中。一切都很好。但是,我希望在传递会话\u id时能够加载特定会话。这是服务器作为cookie存储在客户端的值 我的Rails应用程序有一个客户端不能使用cookies,因此它必须在一个参数中向我传递session\u id。我想在动作之前使用或某种过滤器获取该参数,并使用它在我的控制器中加载会话,而不是应用程序由于缺少适当的co

我正在应用程序中使用
MyApp::Application.config.session\u store:active\u record\u store
将会话存储在数据库中。一切都很好。但是,我希望在传递
会话\u id
时能够加载特定会话。这是服务器作为cookie存储在客户端的值

我的Rails应用程序有一个客户端不能使用cookies,因此它必须在一个参数中向我传递
session\u id
。我想在动作之前使用
或某种过滤器获取该参数,并使用它在我的控制器中加载
会话
,而不是应用程序由于缺少适当的cookie而加载空会话

有什么办法我可以做到这一点吗?我不想完全关闭cookie方法,因为我的web客户端使用cookie,只是我的移动客户端不能

编辑:
如果我声明
类Session
,然后执行
Session.find by_Session\u id('whatever')
我确实得到了一个Session-ActiveRecord对象,但我不确定如何将其转换为正常Rails意义下可用的
Session

只需执行请求即可。Session\u选项[:id]=“任意您想要的”在before_action中,筛选器和Rails将在您访问会话时使用该会话id来加载会话(由于延迟加载)。

已解决:只需执行请求。会话选项[:id]=
before_action中的“随心所欲”
筛选器和Rails将在您访问会话时使用该会话id来加载会话(由于延迟加载)。