我正在使用 Active Record Store 将 Rails会话存储在数据库中。在某些时候,我想将实际的 Rails Session 替换为从数据库中提取的另一个 Rails Session 。
假设要恢复的会话 ID位于参数session_id
中。
如何检索会话以恢复和替换实际会话?
答案 0 :(得分:1)
我发现这样做的最简单方法是在before_filter
中def restore_session
return if params[:session_id].blank?
restored_session = ActiveRecord::SessionStore::Session.find_by_session_id(params[:session_id])
if restored_session
session.update(restored_session.data)
restored_session.destroy
end
end