从Rails中的任何位置访问"会话密钥"cookie名称

jim*_*meh 14 cookies session ruby-on-rails

我们正在构建一个用于在iframe Facebook应用程序中使用的Rails插件,并且我们需要检查是否已经设置了Rail的会话ID cookie.

默认情况下,这个cookie被命名为_myprojectname_session,我们要搞清楚什么是cookie自身的实际名称.因此,如果没有设置,我们可以进行一些重定向以确保设置cookie.

我们如何从任何地方访问该死的名称?或者至少从控制器内部?

Sha*_*oke 34

Rails.application.config.session_options[:key]
Run Code Online (Sandbox Code Playgroud)


jim*_*meh 13

我找到了解决方案.在Rails 2.3.2中,至少会设置会话密钥,config/initializers/session_store.rb如下所示:

ActionController::Base.session = {
  :key         => '_myapp_session',
  :secret      => '[...]'
}
Run Code Online (Sandbox Code Playgroud)

你可以读取这样的值:

ActionController::Base.session_options[:key]
Run Code Online (Sandbox Code Playgroud)

从自动化Base.sessionBase.session_options自动化,没有多大意义,这让我头疼......哈哈