如何替换Rails的Session

时间:2012-11-14 13:33:32

标签: ruby-on-rails-3 session

我正在使用 Active Record Store Rails会话存储在数据库中。在某些时候,我想将实际的 Rails Session 替换为从数据库中提取的另一个 Rails Session

假设要恢复的会话 ID位于参数session_id中。

如何检索会话以恢复和替换实际会话?

1 个答案:

答案 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