如何在application_controller中获取session_id。我在这个控制器中创建辅助方法来设置会话并稍后读取它们,我能够从application_controller读取所有会话变量,cookie等。唯一的例外是
会话[:session_id](已尝试的变体 - 会话[:id],会话[“id”],会话[“session_id”] 和request.session_options [:id])
但这些都没有提供session_id值。
在我的观点中,session [:session_id]运行正常。但在应用程序控制器中,这是行不通的。
任何帮助将不胜感激。我显然在这里做错了什么。
答案 0 :(得分:0)
你忘记了before_filter
吗?这对我有用。
class ApplicationController < ActionController::Base
protect_from_forgery
before_filter :catch_session_id
def catch_session_id
binding.pry
end
end
14: def catch_session_id
=> 15: binding.pry
16: end
[1] pry(#<WelcomeController>)> session[:session_id]
=> "a7eca9eaaf21cff74c0d21713fcaad09"