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来加载会话(由于延迟加载)。