我正在编写一个需要通过session_id销毁任意会话的gem。
目前我正在使用以下代码
case Rails.application.config.session_store
when ActionDispatch::Session::CacheStore
Rails.cache.delete("_session_id:#{session_id}")
when ActionDispatch::Session::ActiveRecordStore
ActiveRecord::SessionStore.session_class.find(session_id).destroy
when ActionDispatch::Session::CookieStore
# cannot remove a client-storage session
end
但我已为每个destroy_session(env, session_id, options)
课程找到SessionStorage
方法。如何在脚本中调用此方法? (不在请求或任何控制器中)
答案 0 :(得分:0)
如果您在数据库中存储会话,可以在控制台中尝试:
rake db:sessions:clear
您还可以使用控制器中的以下内容销毁整个会话:
reset_session